Estou desenvolvendo um plugin jQuery de amostra que carrega dados de uma resposta JSON.
Não sei por que, mas não está chamando o método de sucesso. Ele está indo para o método .error (). Alguém pode me ajudar nisso?
http://www.technicalkeeda.com/demos/load_scroll_content
retorna uma resposta JSON adequada.
<script>
$(document).ready(function () {
var jqxhr = $.getJSON("http://www.technicalkeeda.com/demos/load_scroll_content", function(data) {
alert("success");
},"json").success(function() { alert("second success"); })
.error(function(xhr, testStatus, error) {
alert("Error" + xhr.status);
alert("Error" +xhr.response);
alert("Error" +xhr.responseText);
})
.complete(function() { alert("complete"); });
jqxhr.complete(function(){ alert("second complete"); });
});
</script>
Resposta do serviço
[[{"EMPLOYEE_ID":"1","EMPLOYEE_NAME":"Yashwant Chavan"},{"EMPLOYEE_ID":"2","EMPLOYEE_NAME":"Mahesh Diwan"},{"EMPLOYEE_ID":"3","EMPLOYEE_NAME":"Rajesh Limaye"},{"EMPLOYEE_ID":"4","EMPLOYEE_NAME":"Pankaj Patil"}]]
Respostas:
2 para resposta № 1Você precisa adicionar o JSONP parâmetro de retorno de chamada, assim:
$.getJSON("http://www.technicalkeeda.com/demos/load_scroll_content?callback=?");
A função jQuery ajax substituirá a última? para uma sequência aleatória como "jQuery12345" e a resposta deve usar o valor do parâmetro de retorno de chamada como este:
jQuery12345([
{"EMPLOYEE_ID":"1","EMPLOYEE_NAME":"Yashwant Chavan"},
{"EMPLOYEE_ID":"2","EMPLOYEE_NAME":"Mahesh Diwan"}
])
Você pode ler mais sobre JSON aqui: