11

我已经确定来自服务器的 JSON 是有效的(手动进行 ajax 调用),但我真的很想使用 JQuery。我还使用 firebug 确定发送到服务器的“发布”URL 是正确的。但是,错误回调仍在被触发(解析错误)。我也试过数据类型:文本。

我应该包括其他选项吗?

$(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
4

3 回答 3

20

以下是我会尝试的一些建议:

1)您指定的“数据类型”选项应该是“数据类型”(我相信区分大小写)

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) 三重检查您的帖子 url 的输出并通过 JSON 验证器运行输出,以绝对确定它是有效的并且可以解析为 JSON 对象。http://www.jsonlint.com

希望有些帮助!

于 2008-09-17T03:22:15.410 回答
1

为什么myResult而不是request

success: function(request) {
  alert(myResult.length);
}
于 2012-03-12T09:43:36.897 回答
0

数据参数错误。这是一个有效的示例:

数据:{索引:ddl.selectedIndex},

这将构造一个具有名为 index 的属性的对象,其值为 ddl.selectedIndex。

您需要从数据参数行中删除引号

祝你好运A

于 2011-06-22T04:29:51.057 回答