javascript – 使用jQuery,从跨域url访问json,其中json可能形成不佳

前端之家收集整理的这篇文章主要介绍了javascript – 使用jQuery,从跨域url访问json,其中json可能形成不佳前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_1@我正在使用jQuery的ajax函数来访问跨域url.该网址将返回json.我正处于发现阶段,但我想,因为json值包含几个’& quot’字符串,json eval会抛出错误并停止执行我的客户端脚本.我得到的错误是“未终止的字符串文字”.我知道如果我将返回的json硬编码放在本地div中并删除’& quot;’字符串(和几个隐藏的特殊字符),我可以成功地获得json到eval.
无论是通过解决方法还是通过修改我的代码,我可以做些什么来从URL获取json并将其存储在我的客户端javascript中作为有效的json对象?

@H_502_1@我目前的代码.没有定义的函数(success,complete,error,dataFilter)执行:

@H_502_1@

$(function() {
  $.ajax({
  url: "http://www.codemash.org/rest/sessions.json?format=jsonp&callback=?",dataType: "jsonp",success: successFunc,complete: completeFunc,error: errorFunc,dataFilter: dataFilterFunc
});

});

function successFunc() { console.log('successFunc(). enter.'); }
function completeFunc() { console.log('complete(). enter.'); }
function errorFunc() { console.log('errorFunc(). enter.'); }
function dataFilterFunc(data,type) { 
  data.replace(/\W/g,' ');
  return data; 
}
最佳答案
问题是JSONP服务,它完全消除了回调参数.

@H_502_1@JSONP响应只是一个使用callback get参数作为函数名的函数调用

@H_502_1@如果您查看某些JSONP服务的响应,它应该是这样的:

@H_502_1@http://somesite.com/jsonp?callback=myCallback

@H_502_1@会回来:

@H_502_1@

myCallback({/*json*/});
@H_502_1@虽然you post返回普通valid JSON,但它不能作为JSONP响应处理.

猜你在找的jQuery相关文章