Sto provando a utilizzare la funzione getJSON in jQuery per importare alcuni dati e attivare una funzione di callback. La funzione di callback non funziona. Tuttavia, se provo la stessa cosa con la funzione get, funziona bene. Stranamente, funziona con la funzione get anche quando passo "json" come tipo. Perché sta succedendo? Ho provato il seguente file in Firefox 3 e IE 7:non funziona quando si utilizza la funzione getJSON in jQuery
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>ajax test</title>
<script type="text/javascript" src="/jquery-1.3.2.min.js"></script>
</head>
<body>
<input type="button" id="test1" value="get">
<input type="button" id="test2" value="getJSON">
<input type="button" id="test3" value="get with json type">
<script type="text/javascript">
$("#test1").click(function() {
$.get("index.html",
function(response) {
alert('hi');
//works
}
)
});
$("#test2").click(function() {
$.getJSON("index.html",
function(response) {
alert('hi');
//doesn't work
}
)
});
$("#test3").click(function() {
$.get("index.html",
function(response) {
alert('hi');
//works
},
"json"
)
});
</script>
</body></html>
Questo sembra accadere qualunque cosa URL accedo, fintanto che è sullo stesso dominio. Ho provato a passare alcuni dati e questo non fa differenza.
Ovviamente posso aggirare il problema utilizzando la funzione get come ho fatto nella mia terza funzione di test, ma sono ancora curioso di sapere perché questo sta accadendo.
So che c'è uno similar question chiesto qui ma non ha risposto alla mia domanda.
Potrebbe essere che il JSON è mal formato? – karim79
Cosa c'è in index.html? – grammar31
Forse avrei dovuto essere più chiaro. index.html è il file che ho postato sopra. Sto solo cercando di accedere al documento stesso, che non è la cosa più utile. L'ho messo lì perché era semplice e conveniente. Di nuovo, non sembra importare cosa ho messo per l'URL. Il documento deve essere valido? –