[英]Callback function being skipped on jQueries .getJSON command
我有以下代码片段:
$('input#teamName').live('blur', function() {
var value = $(this).val();
if (value) {
$.getJSON('api/event_company/'+value, function(data) {
console.log('why does this not want to work?');
});
}
});
基本上,它所做的就是在表单字段更改时从服务器请求一些数据。 我的问题是,即使我可以使用Firebug看到回调函数已成功向服务器发送请求并收到有效的JSON响应,回调函数中的任何内容也不会被调用。
如果我将getJSON
参数更改为:
$.getJSON('api/event_company/'+value, alert('Blah'));
然后,警报按预期方式弹出。 有什么想法可能导致这种现象吗?
如果JSON无效,则解析将失败,并且不会调用处理程序。 从getJSON文档:
重要提示 :从jQuery 1.4开始,如果JSON文件包含语法错误,则请求通常会静默失败。 因此,请避免对JSON数据进行频繁的手动编辑。 JSON是一种数据交换格式,其语法规则比JavaScript的对象文字表示法严格。 例如,以JSON表示的所有字符串,无论它们是属性还是值,都必须用双引号引起来。 有关JSON格式的详细信息,请参见http://json.org/ 。
查看JSON是否有效 。
您的第二个示例不正确。 应该是
$.getJSON('api/event_company/'+value, function() {
alert('Blah');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.