我已经确定我的
JSON来自服务器,是有效的(使ajax调用手动),但我真的想使用
JQuery.我也确定发送到服务器的“post”url是正确的,使用firebug.但是,错误回调仍然被触发(parsererror).我也尝试过数据类型:文本.
还有其他选项,我应该包括
$(function() { $("#submit").bind("click",function() { $.ajax({ type: "post",url: "http://myServer/cgi-bin/broker",datatype: "json",data: {'start' : start,'end' : end},error: function(request,error){ alert(error); },success: function(request) { alert(request.length); } }); // End ajax }); // End bind }); // End eventlistener
解决方法
这里有几个建议我会尝试:
1)你指定的’datatype’选项应该是’dataType'(我认为区分大小写)
2)尝试使用’contentType’选项:
contentType: "application/json; charset=utf-8"
我不知道有多少会帮助,因为它在您的发布网址的请求中使用,而不是在响应中.
有关更多信息,请参阅此文章:http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax
(它是为asp.net编写的,但可能适用)
3)三重检查您的发布网址的输出,并通过JSON验证器运行输出,以确保它是有效的,并可以解析为一个JSON对象. http://www.jsonlint.com
希望有一些帮助!