Jquery 未捕获的SyntaxError:返回£时意外标记非法;使用JSON的符号
当我试图从一个JSON调用返回一个符号时,我在chrome中得到一个错误:Uncaught SyntaxError:Unexpected token非法Jquery 未捕获的SyntaxError:返回£时意外标记非法;使用JSON的符号,jquery,json,Jquery,Json,当我试图从一个JSON调用返回一个符号时,我在chrome中得到一个错误:Uncaught SyntaxError:Unexpected token非法 var currency = ""; var price = ""; $.ajax({ type: 'GET', url: '../JSONDeliveryPrice/', dataType: 'json', success: function (data) { price = eval(data.price);
var currency = "";
var price = "";
$.ajax({
type: 'GET',
url: '../JSONDeliveryPrice/',
dataType: 'json',
success: function (data) {
price = eval(data.price);
currency = eval(data.currency);
},
async: false
});
console.log(price);
console.log(currency);
货币应该等于“镑”,但我得到了那个错误。我是否必须以某种方式对值进行编码/解码?此外,如果我只返回价格,则价格输出正确
编辑:
您不需要
eval()
,因为您已经将数据类型指定为JSON(jQuery将为您进行JSonification。您只需执行以下操作:
...
success: function (data) {
price = data.price;
currency = data.currency;
},
...
你能给我们看一下你的JSON字符串吗?我已经编辑了我的问题以显示JSON字符串在哪里?我在你的代码中看不到英镑符号。@BiffBaffBoff你仍然没有给我们显示JSON字符串,你所做的只是显示生成它的代码,请让我们知道发送的确切JSON,例如使用,不要使用
eval()
提取数据时,您可以使用的是var result=$.parseJSON(data);
最大值,但永远不会eval()
嗨,谢谢,我通过不使用eval()解决了这个问题;
...
success: function (data) {
price = data.price;
currency = data.currency;
},
...