Вместо синтаксического анализа Json в запросе ajax, вот синтаксис, который я использую для решения этих проблем
$.ajax({
url: "pagegoeshere.php",
timeout: 30000,
type: "POST",
data: 'data1='+data1+'&data2='+data2,
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("An error has occurred making the request: " + errorThrown)
},
success: function(returnjson){
var returnstuff = returnjson.returnstuff;
//Do next Javascript step here
}
});
Вы можете запускать последующие javascript / jquery в успешном случае и «складывать» события вместе в случае успеха вашего Ajaxвызов.Таким образом, если это работает, это продолжается.В противном случае обработка ошибок может происходить в предоставленном разделе ошибок определенным вами способом.Обычно я запускаю свои вызовы ajax в обработчике кликов, но, безусловно, выполнимо запустить его в функции, которую вы выбрали.Обязательно проверьте возвращаемый JSON (например, его можно отправить по почте со страницы обработки), чтобы убедиться, что это действительный JSON. Jsonlint - ваш друг!
У меня был хром, который эффективно анализировал плохие HTML и JSON, в то время как другие браузеры не делали это несколько раз.Я подозреваю, что это что-то в том же духе вызывает ваши проблемы.