我正在使用 jQuery 的 ajax 函数来访问跨域 url。该网址将返回 json。我正处于发现阶段,但我认为,因为 json 值包含几个 '"' 字符串,所以 json eval 会引发错误并停止执行我的客户端脚本。我得到的错误是“未终止的字符串文字”。我知道,如果我通过将返回的 json 放在本地 div 中并删除“”来对返回的 json 进行硬编码并删除 字符串(和几个隐藏的特殊字符),我可以让 json 成功评估。无论是通过解决方法,还是通过更正我的代码,我能做些什么来从 url 获取 json 并将其作为有效的 json 对象存储在我的客户端 javascript 中?
我当前的代码。没有任何定义的函数(成功、完成、错误、数据过滤器)执行:
$(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;
}