Tôi có một thói quen jquery.ajax gọi một tập lệnh php. Tập lệnh php thực hiện tra cứu trên API tìm kiếm của Google và trả về json cho tập lệnh ajax gọi.Lỗi trả về jQuery.ajax: Mã thông báo không mong muốn với Thông báo lỗi: parseerror?
Các kịch bản hoạt động tốt trên 99% số cài đặt, tuy nhiên, trên một số ít, khi tôi gọi:
error: function(jqXHR, textStatus, errorThrown){
alert('HTTP Error: '+errorThrown+' | Error Message: '+textStatus);
}
Nó trả về:
HTTP Error: SyntaxError: Unexpected token < | Error Message: parsererror
Làm thế nào tôi có thể khắc phục sự cố này sử dụng giao diện điều khiển javascript hoặc công cụ phát triển chrome? Mã cuống dưới ...
var result='';
jQuery.ajax
({
contentType: "application/json; charset=utf-8",
dataType: "json",
url: <?php echo '"' .plugins_url('/script.php', __FILE__); ?>?Query="+ jQuery('#search_keyword').val(),
success: function(data)
{
//do something with results
},
error: function(jqXHR, textStatus, errorThrown){
console.log(arguments);
alert('HTTP Error: '+errorThrown+' | Error Message: '+textStatus);
return;
}
});
UPDATE: lỗi OBJECT console.log của lần đọc:
responseText: "<br />↵<b>Warning</b>: array_map() [<a href='function.array-map'>function.array-map</a>]: Argument #2 should be an array in <b>/filepath/wp-content/plugins/test/test.php</b> on line <b>75</b><br />↵<br />↵<b>Warning</b>: Invalid argument supplied for foreach() in <b>/filepath/wp-content/plugins/test/test.php</b> on line <b>90</b><br />↵No Records Returned. Search may be down. Wait a few minutes"
Có vẻ như bạn đã trở lại với json không đúng định dạng. Các '<' sẽ gợi ý rằng có lẽ đó là một thẻ html quấn quanh json? –
Ngôn ngữ nào? Đó là URL bạn bắn cho sự trở lại của json? Có lẽ bạn nhận được XML thay vào đó? Vui lòng cung cấp thêm thông tin. – hakre
@hakre: cảm ơn vì đã kiểm tra điều này. Tôi vừa cập nhật câu hỏi. – RegEdit