通过jQuery ajax请求获取数据
Getting data through jQuery ajax request
我使用以下代码从服务器获取数据:
$.getJSON('http://xxx.xxx.xxx.xx/SampleWebService/Service.svc/SampleMethod?callback=?', dd, function (data) {
alert(data);
});
从服务器,我发送字节数组作为响应。在firebug
中,在Net > Response
选项卡中,我得到:
jQuery19101878696953793153_1365677709012([67,37,94,38,42,44,69,67,71,32,97,116,116,97,99,104,101,100,32,102,111,114,32,112,97,116]);
也在Net > JSON
选项卡中,我用几个键获得数据。
但如何获得alert(data);
的数据;这样我就可以处理这些数据。我不知道这东西是怎么用的。
我尝试了这个不同的方法:
$.ajax({
type: "GET",
dataType: "jsonp",
contentType: "application/javascript",
data: dd,
crossDomain: true,
url: "http://xxx.xxx.xxx.xx/SampleWebService/Service.svc/SampleMethod",
success: function (data) {
alert(JSON.parse(data));
},
complete: function (request, textStatus) { //for additional info
alert(request.responseText);
alert(textStatus);
},
error: function(request, textStatus, errorThrown) {
alert(textStatus);
}
});
但我得到:parseerror
作为警报。
查看文档(我还没有尝试过),您需要显式地告诉jQuery,您正在进行JSONP调用,该调用将调用返回的函数。像这样:-
$.ajax({
type : "GET",
dataType : "jsonp",
url : "http://xxx.xxx.xxx.xx/SampleWebService/Service.svc/SampleMethod",
success: function(data){
alert(data);
}
});
您正在查找的函数是JSON.parse。请试试这个代码:
$.post("YouURL", { 'ParameterName': paramvalue }, function (Data) {
var data = JSON.parse(data);
});
您的响应是一个函数调用。如果你用jQuery19101878696953793153_1365677709012定义函数名,你可以处理"数据",否则从服务器发送json作为对$的响应。getJSON的工作回调
问题是数据非常大。我正在发送大约10万字节的数组。因此,我将其分成字节列表(每个字节有1000字节)&然后作为响应发送。
我不知道这是不是最好的解决办法,但是它解决了我的问题。顺便说一句,谢谢大家对我的帮助。相关文章:
- Ajax-如何获取数据
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从数据库中获取数据并插入JavaScript变量
- 从单击的行上的列中获取数据
- Solr查询以按日期月份获取数据&年
- React路由器服务器端渲染和ajax获取数据
- 使用JavaScript在IE9中获取数据列表选项
- 从json子数组获取数据
- 使用angularjs中的rest调用通过id获取数据
- 正在从ruby应用程序中的数据库中获取数据
- 如何从servlet获取数据到ajax成功
- 从选择下拉菜单中获取数据
- 异步获取数据使用JavaScript同步获取数据
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- JavaScript-获取数据属性的值返回未定义的值
- 如何从文本区域获取数据并使用javascript进行解密
- 在put方法之前从作用域获取数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么