jquery,jsonp并没有成功

时间:2010-05-26 15:44:11

标签: jquery jsonp

我的代码$j.getJSON("http://localhost:8080/WWTestHarnessWEB/ReadersToolkitFinalController.htm?jsoncallback=?", {'uID': 1}, function(data){alert(data);});

中有以下jquery

我要返回的json看起来像以下({"positiveCount":"0","negativeCount":"999"})

但是我的警报从未开始。

知道我需要做些什么才能确保它能够正常工作?

问候 达明

4 个答案:

答案 0 :(得分:2)

我相信如果你为回调查询字符串参数使用的名称不同于callback(看起来你正在使用jsoncallback),你必须告诉jQuery;请参阅$.ajax电话上的选项对象中的jsonp参数。这意味着您必须使用ajax代替getJSON,但这很容易。

E.g:

$.ajax({
  url:      "http://localhost:8080/WWTestHarnessWEB/ReadersToolkitFinalController.htm?jsoncallback=?",
  dataType: "json",
  jsonp:    "jsoncallback",
  data:     {'uID': 1},
  success:  function(data){alert(data);}
});

我不确定你是否需要(或应该)包含“jsoncallback =?”在你自己的URL或让jQuery把它放入;快速实验应该告诉你。

答案 1 :(得分:1)

试试这个:

$j.getJSON(
  "http://localhost:8080/WWTestHarnessWEB/ReadersToolkitFinalController.htmjsoncallback=?", 
  {'uID': 1}, 
  function(data, status){
    alert(status);
  });

这输出是什么?

答案 2 :(得分:1)

您的服务器代码是否真的服从jsoncallback参数?如果我理解正确,那你就回来了

({"positiveCount":"0","negativeCount":"999"})

而JSONP中的P表示您需要返回

callback1234({"positiveCount":"0","negativeCount":"999"})

其中callback1234jsoncallback参数的值。 (尽管URL显示为jsoncallback=?,但JQuery特别解释了这一点,并用唯一生成的字符串替换?。)

另外,what T. J. Crowder said

答案 3 :(得分:0)

欢呼各位回应。

事实证明,它非常挑剔,并且通过应用你们向我展示的工作点点滴滴

这里现在是我的jquery代码$j.getJSON( "http://localhost:8080/WWTestHarnessWEB/ReadersToolkitFinalController.htm?jsoncallback=?",
{'uID': 1},
function(data, status){ if (status != 'success') { alert("Status is: " + status); } var positiveCount = data.positiveCount;
var negativeCount = data.negativeCount; $j('td[id*="posiiveVoteId"]').html(getCorrectCountString(positiveCount)); $j('td[id*="negativeVoteId"]').html(getCorrectCountString(negativeCount)); });

我的json响应如下:ParamsHeadersPostPutResponseCacheHTMLJSON 响应标题来源 服务器Apache-Coyote / 1.1 Content-Type application / json; charset = ISO-8859-1 内容 - 语言en-US 内容长度80 2010年5月26日星期三格林尼治标准时间16:38:43 请求Headersview源 主持localhost:8080 User-Agent Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3)Gecko / 20100401 Firefox / 3.6.3 接受text / javascript,application / javascript, / Accept-Language en-us,en; q = 0.5 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8; q = 0.7,*; q = 0.7 保持活力115 连接保持活着 Content-Type application / x-www-form-urlencoded X-Requested-With XMLHttpRequest 参考者http://localhost:8080/WWTestHarnessWEB/jsp/ReadersToolkit/Json.jsp Cookie JSESSIONID = 93FDA3BD0D2450D7FA4BD9A76C388F8A

jsonp1274891923240({ “positiveCount”: “0”, “negativeCount”: “999”})`

再次感谢 达明