Javascript JSON 返回带有未转义字符的错误
Javascript JSON return error with unescaped character
您好,感谢您抽出宝贵时间查看本文。
我遇到的问题是来自第三方服务的 JSON 返回,所以我无法控制 JSON 的格式。我正在使用以下内容(精简到重要部分)
function JSONgrabber(Zip,iplocation)
{
var requestBase ="http://www.someCompany.com/api/request";
var requestData ="iplocate=true&output=json&callback=useJSON";
var request=requestBase+"&&zip="+Zip+"&"+requestData;
if(iplocation ==false || iplocation=="false")
{
request=request.replace("iplocate=true","iplocate=false");
}
if (document.getElementById("JSONDataMaster"))
{
var element = document.getElementById("JSONDataMaster");
element.parentNode.removeChild(element);
}
try{
var head = document.getElementsByTagName("head").item(0);
var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", request);
script.setAttribute("id", "JSONDataMaster");
head.appendChild(script);
}
catch(err){console.log("Problem loading JSON Data");}
}
function useJSON(JSONDATA){}
这在 99% 的时间内都符合预期,但有时回报率会像
Joe's Diner 和 ' 导致未捕获的语法错误:意外的标识符,这发生在返回期间,所以我无法通过替换等来修复它,因为它永远不会进入回调函数。
任何见解都非常感谢。我没有使用任何外部库(jquery等),所以请任何帮助必须是纯JS(也许是php)
您需要检查要获取的字符串是否包含特殊字符,如果是,则需要对其进行转义
这是一个很好的页面,可以帮助理解:
网络艺术
此问题类似:
斯塔科
如果检查每个字符串中的单引号并将其替换为转义的单引号:
mystring.replace("'","'''");
相关文章:
- 在JavaScript中输出转义字符
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- Javascript-正则表达式,用于在未转义字符上拆分字符串,例如|,但忽略|
- 解析 JSON 时出现无效字符错误
- 带有Ajax请求的Javascript JSON.parse函数n〃;新行转义字符
- Php在csv输出文件中插入转义字符
- TinyMCE 3.x仅在IE中转义字符
- 如何使用Javascript为JSON转义字符
- 带有转义字符的Javascript子字符串
- JSON.parse:Javascript中出现意外的字符错误
- JSON无效字符错误
- 包括一个带有innerHTML转义字符的脚本
- asp.net Jquery.ajax保留JSON.分析意外字符错误
- 替换转义字符中的单个反斜杠
- innerhtml 忽略了 HTML 转义字符
- PHP 中的 ASCII 数字到字符错误
- jQuery 中的非法字符错误 - 无论函数内容如何
- 如何从 JSON 字符串中删除转义字符
- Javascript JSON 返回带有未转义字符的错误
- 转义字符生成“;缺少)在参数列表“”之后;错误