У меня возникают некоторые проблемы с JSON.Parse в моем коде, и я не могу найти причину этого. У меня есть функция, которая вызывает две функции ajax, одну в начале и другую функцию успеха. Его работа прекрасна, но когда я пытаюсь разобрать второй ответ, код разбивается, не давая никаких ошибок, и настоящей загадкой является JSON.parse(object);
dosent дает какую-либо проблему, но когда я использую переменную для хранения результата, как этот var list =JSON.parse(object);
мой код сломался, и я не знаю, в чем причина этого, мой текущий код приведен ниже
function getData()
{
$.ajax({
type: "POST",
url: "MyPage.aspx/GetData",
data: JSON.stringify({ data: data})
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var result = JSON.parse(response.d);
var temp = 0;
for (var i = 0; i < result.length; i++) {
if (result[i].data > 1) {
var subList = JSON.parsegetFullData (result[i].id));
}
}
});
}
function getFullData (id) {
var sublist;
$.ajax({
type: "POST",
url: "MyPage.aspx/GetData2",
data: JSON.stringify({ id: id }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
return response.d;
}
});
}
любая мысль очень поможет
Когда вы используете $.ajax
с dataType:"json"
, ответ уже разобран для вас. И, похоже, нет причин пытаться проанализировать response.d
.
Просто используйте
$.ajax({
type: "POST",
url: "MyPage.aspx/GetData",
data: JSON.stringify({ data: data})
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (results) {
for (var i = 0; i < results.length; i++) {
console.log(results[i].id, results[i].LastName);
response.d
- это строка, содержащая JSON? Кстати,return response.d;
от обратного вызова не будет никакого эффекта.