Tengo una rutina jquery.ajax que llama a un script php. El script php realiza una búsqueda en la API de búsqueda de Google y devuelve json al script ajax llamante.jQuery.ajax devuelve error: Token inesperado con mensaje de error: parseerror?
embargoEl script funciona bien en el 99% de la instalación, versiones, en unos pocos, cuando llamo:
error: function(jqXHR, textStatus, errorThrown){
alert('HTTP Error: '+errorThrown+' | Error Message: '+textStatus);
}
Devuelve:
HTTP Error: SyntaxError: Unexpected token < | Error Message: parsererror
¿Cómo puedo solucionar esto usando javascript consola o herramientas de desarrollo de Chrome? talón de código está por debajo ...
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;
}
});
ACTUALIZACIÓN: lee Error de objeto de CONSOLE.LOG:
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"
Parece que tienes malformado a json que vuelve. El '<' daría a entender que tal vez se trata de una etiqueta html alrededor del json? –
¿Qué localidad? ¿Cuál es la URL que disparas para el regreso de json? ¿Tal vez obtienes XML en su lugar? Por favor brinde más información. – hakre
@hakre: gracias por consultar esto. Acabo de actualizar la pregunta. – RegEdit