2012-06-07 3 views
2

Использование unparseable cruft на мои ответы ajax.преобразователи ajax и IE7

Отлично работает, за исключением IE7, который вызывает отказ. Любые мысли о том, почему неудача?

Аякса вызов:

$.ajax({ 
     type: "POST", 
     url: "js/zipcodeLookup.json", //mock json response 
     contentType: "application/json", 
     dataType:"text json", 
     data: "{postalcode: '" + $(myField).val() + "', country: '" + myCountry + "'}", 
     success: function(data) { 
      //do something here 

     }, 
     error: function(){ 
     alert('failure'); 
     } 

    }); 

Аякса конвертер:

$.ajaxSetup({ 
      converters: { "text json": function (stringData) { 
         return JSON.parse(stringData.replace('for(;;);', '')); 
      } } 
}); 

и JSON:

for(;;);{ 
    "isError": "false", 
    "city": "Springfield", 
    "juris": "IL" 
} 

EDIT

и правильный ответ заключается в том, что я тупо пропустил мой метод разбора - вместо этого используйте jQuery.parseJSON()!

ответ

3

IE < 8 не имеет встроенной поддержки для JSON. У вас есть резервный механизм для IE7?

Для браузеров без встроенной поддержки JSON вы должны использовать this библиотеку

Вы могли бы реализовать запасной механизм, как этот

<script>window.JSON|| 
    document.write("<script src='js/json2.js'>\x3C/script>") 
</script> 
+0

глупого надзор с моей стороны - я вытащил конвертер от примера, и забыл чтобы изменить его на 'jQuery.parseJSON()'. Спасибо, что помог мне понять, что – Jason

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

  • Нет связанных вопросов^_^