Javascript 为什么浏览器在json响应中添加额外的向后斜杠,并且json数组长度错误?
这就是我向服务器发出JSON值回调请求的方式Javascript 为什么浏览器在json响应中添加额外的向后斜杠,并且json数组长度错误?,javascript,jquery,Javascript,Jquery,这就是我向服务器发出JSON值回调请求的方式 $(document).on('click', '.currentOrderRow', function(event ) { var orderid = $(this).attr("id_data"); $.ajax({ type: 'GET', url: url+'/OMS/oms1/getOrderdetails?orderid='+orderid, jsonpCallback: 'jsonCal
$(document).on('click', '.currentOrderRow', function(event ) {
var orderid = $(this).attr("id_data");
$.ajax({
type: 'GET',
url: url+'/OMS/oms1/getOrderdetails?orderid='+orderid,
jsonpCallback: 'jsonCallback',
cache: true,
dataType: 'jsonp',
jsonp: false,
success: function (response) {
alert(response.json_value.length);
console.log('response is'+JSON.stringify(response));
},
error: function (e) {
alert('Into error ');
}
});
});
我观察到服务器控制台中显示的JSON响应在()中有斜杠
为什么长度显示为1525
因为上面的JSON包含两个值??(从contact\u phone\u no开始,每个都是新记录)服务器端有一个bug。它不向您发送JSON对象图(即嵌套的JSON对象),而是向您发送包含JSON格式对象的单个字符串。或者换一种说法:它在JSON中发送JSON 要解析数据,您需要以下代码:
var data = JSON.parse(response.json_value);
或者修复服务器端的错误。使用
console.log(响应)可以得到什么代码>?反斜杠用于转义JSON中的双引号请参见:“字符串是由零个或多个Unicode字符组成的序列,用双引号包装,使用反斜杠转义”您的响应由一个具有一个属性的对象组成。该属性有一个值:一个字符串(似乎是JSON)。您似乎希望它是一个数组。这与浏览器无关,而是服务器正在发送的内容代码>@Satpal与您的声明我得到长度为2。
var data = JSON.parse(response.json_value);