Ajax jQuery.post()未触发成功处理程序方法
情况:Ajax jQuery.post()未触发成功处理程序方法,ajax,javascript,jquery,jsfiddle,Ajax,Javascript,Jquery,Jsfiddle,情况: 我有一个简单的表单,将调用.post()-call(),而不是实际的提交 post的工作原理是,它将发布请求并接收200(OK)状态以及响应正文中的预期字符串(如FireBug的网络视图所示) 问题: 带有alert()的匿名函数永远不会执行。为什么呢 注意事项: 我插入了一个警报,以指示该方法何时触发 为方便起见,请在代码下方添加链接 代码: 这是我的表格: <form> <input type="submit" value="Submit" /&
- 我有一个简单的表单,将调用
-call(),而不是实际的提交李>.post()
- post的工作原理是,它将发布请求并接收
状态以及响应正文中的预期字符串(如FireBug的网络视图所示)李>200(OK)
- 带有
的匿名函数永远不会执行。为什么呢alert()
- 我插入了一个警报,以指示该方法何时触发
- 为方便起见,请在代码下方添加链接
<form>
<input type="submit" value="Submit" />
</form>
这就是我所期望的工作:
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1
}, function (data, textStatus, jqXHR) {
$('form').append(data);
alert("done"); // <----- THIS NEVER FIRES
}, 'json');
});
});
$(文档).ready(函数(){
$('form')。提交(函数(e){
e、 预防默认值();
$.post('/echo/html/'{
html:“JSFIDLE测试返回消息”,
延误:1
},函数(数据,文本状态,jqXHR){
$('form')。追加(数据);
警告(“完成”);//您将错误的数据类型设置为json,服务器返回html类型数据。顺便说一句,您不需要指定它:
dataType类型:字符串服务器预期的数据类型。
默认值:智能猜测(xml、json、脚本、文本、html)
$(文档).ready(函数(){
$('form')。提交(函数(e){
e、 预防默认值();
$.post('/echo/html/'{
html:“JSFIDLE测试返回消息”,
延误:1
},函数(数据,文本状态,jqXHR){
$('form')。追加(数据);
警惕(“完成”);
});
});
});
您将错误的数据类型设置为json,服务器返回html类型的数据。顺便说一句,您不需要指定它:
dataType类型:字符串服务器预期的数据类型。
默认值:智能猜测(xml、json、脚本、文本、html)
$(文档).ready(函数(){
$('form')。提交(函数(e){
e、 预防默认值();
$.post('/echo/html/'{
html:“JSFIDLE测试返回消息”,
延误:1
},函数(数据,文本状态,jqXHR){
$('form')。追加(数据);
警惕(“完成”);
});
});
});
为什么要发送HTML而需要JSON?@adeneo这是一种误解,认为此参数将指定输入类型而不是预期的输出类型。为什么要发送HTML而需要JSON?@adeneo这是一种误解,认为此参数将指定输入类型而不是预期的输出类型。我喜欢删除了更多答案,因为它没有使我区分更改。并解释了错误是什么。请您在回答中添加您所做的,而不是下次在注释中添加您所做的。关于$的数据类型。post方法:“默认值:智能猜测(xml、json、脚本、文本、html)。”谢谢!这是一个非常有用的添加。我更喜欢删除的答案,因为它没有使我区分更改。并解释了错误是什么。请您在您的答案中添加您所做的,而不是下次在您的评论中添加您所做的。关于$的数据类型。post方法:“默认:智能猜测(xml、json、脚本、文本、html)。”谢谢!这是一个非常有用的补充。
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1
}, null, 'json').done(function (data, textStatus, jqXHR) {
$('form').append(data);
alert("done"); // <----- THIS NEVER FIRES
});
});
});
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1,
success: function (data, textStatus, jqXHR) {
$('form').append(data); // <----- DATA IS UNDEFINED
alert("done"); // <----- THIS FIRES!
}
}, null, 'json');
});
});
$(document).ready(function () {
$('form').submit(function (e) {
e.preventDefault();
$.post('/echo/html/', {
html: "<span>jsFiddle test return msg</span>",
delay: 1
}, function (data, textStatus, jqXHR) {
$('form').append(data);
alert("done");
});
});
});