jQuery .ajax jsonp请求带有未命名参数的URL

时间:2014-05-23 01:49:05

标签: jquery ajax jsonp

我想使用$ .ajax()将jsonp请求发送到采用以下格式的网址:

http://realtimedata.water.nsw.gov.au/cgi/webservice.server.pl?jsoncallback=printData&{"function":"get_ts_traces","version":1,"params":{}}

注意&之后的对象在URL中没有参数名称

我已尝试以下方式获取响应,但数据对象未正确传递,导致API出错:

jQuery.ajax({
  url: "http://realtimedata.water.nsw.gov.au/cgi/webservice.server.pl",
  dataType: "jsonp",
  jsonp: "jsoncallback",
  jsonpCallback: "parseData",
  data: {" ": {"function":"get_ts_traces","version":1,"params":{}}},
});

问题是如何使用$ .ajax()向此URL正确发出请求?

我已成功使用字符串连接并为jsonp请求将脚本标记附加到DOM,但我想使用此jQuery方法。欢呼声。

2 个答案:

答案 0 :(得分:0)

这应该是一个评论,但我的声誉还不允许我这样做。

我建议发送json stringified:

data: JSON.stringify( {" ": {"function":"get_ts_traces","version":1,"params":{}}} ),

问候!

答案 1 :(得分:0)

这就是我正在寻找的。谢谢。

var data = { function: "get_ts_traces", version: 1, params: {} };

$.ajax('http://realtimedata.water.nsw.gov.au/cgi/webservice.server.pl', { dataType: 'jsonp', processData: false, data: JSON.stringify(data), jsonp: 'jsoncallback' }).done(function(data) { console.log(data); });