2013-01-29 6 views
0

У меня есть следующий ajax для вызова моей службы, которая извлекает некоторые записи из базы данных и заполняет ее в моем интерфейсе ... но я получаю json: непредвиденная ошибка персонажа. ..can у пожалуйста, помогите мне в решении этого ...JQuery-Json возвращает [объект, объект] после вызова ajax

'http://localhost/WcfService/Service1.svc/remarksList'; 

    var tempyear=""; 

    $.ajax({ 
        url: urlToHandler, 
        data:JSON.stringify({oei:{"reqNo1":reqNo,"loginid":userid}}), 
        type: 'POST', 
        dataType:"json", 
        contentType: 'application/json', 
        success: function(data) {  

        alert(data.fillRemarksListResult); 
        myData = JSON.parse(data.fillRemarksListResult, function (key, value) { 
     var type; 
     if (value && typeof value === 'object') { 
      type = value.type; 
      if (typeof type === 'string' && typeof window[type] === 'function') { 
       return new (window[type])(value); 
      } 
     } 
     return value; 
    }); 
    alert(myData); 
     $.each(data.fillRemarksListResult,function(key,val){ 


       alert(val.rmrkreqNo1); 
         }); 
        }, 
        error: function(data, status, jqXHR) {      
         alert('There was an error.'); 
        } 
       }); // end $.ajax 

}); 

Теперь я получаю эту ошибку:

* JSON.parse: неожиданный характер MyData = JSON.parse (данных. fillRemarksListResult, функция (ключ, значение) { *

ТАКЖЕ MY АЯКС вызов возвращает [объект Object], [объект Object], [объект Object], [объект Object], [объект Object], [объект Object], [объект Object] при введении как предупреждение об опасности ...

ответ

9

Есть 2 способа решения этой

Way 1]

Удалить dataType:"json", из вашего $.ajax вызова. Ans используют JSON.parse().

Way 2]

Держите dataType:"json", как это и НЕ использовать JSON.parse()

ПОЧЕМУ ПОЧЕМУ ПОЧЕМУ

Вот причины. В соответствии с $.ajax() API docs, когда вы укажете свойство dataType:'json', jQuery автоматически установит ответ от сервера и передаст объект parse d JSON на ваш обратный вызов.

В этом случае вы возвращаетесь к объекту JSON, и поэтому возникает ошибка.

Так или не указать dataType:"json" и разобрать возвращенную строку ИЛИ Specify dataType:"json" и не разбирать его.

+0

Спасибо вам столько за кристально чистое объяснение чувак ... Для новичков lyk мне было очень полезно .. !! –

+0

Мое удовольствие! :) – AdityaParab

Смежные вопросы