Firebug如何解析无效的JSONP响应?
How can Firebug parse an invalid JSONP response?
所以我只是第一次尝试Jersey Jax-rs web服务,我已经制作了可以想象的最简单的GET方法。
我还创建了一个AJAX函数来调用web服务。现在,如果我将dataType
属性设置为json
,我将得到预期的"跨域"误差,这很好。
然而,当我将dataType
更改为jsonp
时,我惊讶地看到Firebug能够解析字符串("来自webservice的回复"),这是由web服务发送的,即使它没有正确格式化为JSONP,并在其控制台面板中显示。
所以如果Firebug可以解析无效的JSONP(我认为它不应该能够),为什么AJAX似乎不能解析它?如果对AJAX调用接收到的数据进行字符串化处理,我所能看到的就是
{"readyState":4,"status":200,"statusText":"success"}
下面是我的代码,以获得更大的上下文。
Jersey Web Service
@GET
@Path("getJson")
@Produces("application/json")
public String getJson()
{
return "Reply from Webservice";
}
Javascript Ajax function accessWebService()
{
var query = "http://localhost:8080/test_webservice/webresources/test/getJson";
$.ajax
({
type: 'GET',
url: query,
dataType: 'jsonp',
async: true,
timeout: 10000,
jsonpCallback: call,
complete: function(data)
{
console.log(JSON.stringify(data));
}
});
}
function call(data)
{
console.log("jsonp");
}
Firebug Console Output
{"readyState":4,"status":200,"statusText":"success"}
SyntaxError: missing ; before statement
"Reply from Webservice"
Firebug有一些特殊的功能来解析(无效的)JSON。查看此文件:
https://github.com/firebug/firebug/blob/1569514de44c0b75f5fb336691ab445663f0afca/extension/content/firebug/lib/json.js参见函数Json.parseJSONString
和pseudoJsonToJson(json)
。
相关文章:
- 分析angular.js中的JSONP$http.json()响应
- 未捕获的类型错误:无法读取 null 的属性“removeChild”(使用 Instagram 的 JSONP 响应)
- $http.获取和$http.JSONP未能获得Google API响应
- 响应 JSONP 请求时循环的无限空的目的是什么
- ajax jsonp请求503响应
- 使用JSONP内容压缩web服务响应是否有效
- AngularJS如何解码带有令牌和内部用户信息的jsonp响应
- 并发 jquery jsonp 响应被发送到错误的成功处理程序
- 使用 jQuery $.ajax 的 JSONP 响应/回调不起作用
- 正确的 JSONP 响应
- 每次通过按钮调用 Ajax 时,如何在 JSONP URL 中重用 JSONP 响应变量
- Jquery/JavaScript-将Ajax jSONP响应存储到变量中
- JSONP响应格式错误
- 来自jsonp响应的ExtJS 4构建组件
- Firebug如何解析无效的JSONP响应?
- Extjs如何解析jsonP响应
- WebAPI对Angular的JSONP响应
- jQuery.ajax()JSONP响应出现间歇性TypeError
- 角.如何对 jsonp 响应进行 chenge json 响应
- 如何阅读 jsonp 响应