用ajax发送表单内容到外部网址
问题描述:
我无法将表单数据发送到外部网址。我知道我需要建立一个php桥梁来完成这个任务,但那正是我坠落的地方。用ajax发送表单内容到外部网址
形式标记:
<div class='done' style='background:#fffee1;border:1px solid #fdf96c;padding:10px;'>
Success! We'll be in touch soon
</div>
<div class='form'>
<form method='post' action='http://example.com/external-url'>
<input type="hidden" name="idstamp" id="idstamp" value="would need to pass this too" />
<p class='element'>
<label for='account'>Client Name</label>
<input type='text' id='account' name='account' class='text' />
</p>
<p class='element stack'>
<label for='user'>User Name</label>
<input type='text' id='user' name='user' class='text' />
</p>
<p class='element stack'>
<input type='submit' class='button orange' value='Submit' style='padding:0; width:130px;height:30px' id='submit'/>
<div class='loading'></div>
</p>
</form>
</div>
的动作是基本的,只显示一则成功的div隐藏整个表格的div:
$('.form').fadeOut('slow');
//show the success message
$('.done').fadeIn('slow');
$('.toggle').delay(5000).fadeOut('slow');
缺少的部分被发送到本地PHP文件,解析出数据然后发送到外部URL。我在任何地方都搜索过这个网站,似乎无法找到一个简单的解决方案,并希望在这里找到一个解决方案。
答
这里的jQuery的一部分:
$(function(){
...
$(".form form").submit(function(e){
e.preventDefault();
var formData = $(this).serialize();
$.post("bridge.php",formData).done(function(rdata){
if (window.console && window.console.log) {
console.log(rdata);
}
}).fail(function(){
if (window.console && window.console.log) {
console.log(arguments);
}
});
});
...
});
现在你只需要建立bridge.php接受POST变量,并将它们发送到外部URL。
bridge = proxy? – 2012-01-10 16:19:47
是正确的,因为我无法直接发布到外部网址 – 2012-01-10 16:22:52