jQuery AJAX etki alanı çapraz
Burada iki sayfa test.php ve servertest.php.
test.php
<script src="scripts/jq.js" type="text/javascript"></script>
<script>
$(function() {
$.ajax({url:"testserver.php",
success:function() {
alert("Success");
},
error:function() {
alert("Error");
},
dataType:"json",
type:"get"
}
)})
</script>
testserver.php
<?php
$arr = array("element1",
"element2",
array("element31","element32"));
$arr['name'] = "response";
echo json_encode($arr);
?>
Şimdi sorunum şu: ne zaman bu iki dosya ile aynı sunucuda (localhost veya web server), çalışır ve alert("Success") denir; Eğer farklı sunucuları, anlam testserver.php web server ve test.php localhost, onun değil çalışma ve alert("Error") çalıştırılıyor. Eğer ajax içinde URL 10 ** değişirse bile
CEVAP
JSONP kullanın.
bir WordPress kullanmak:
$.ajax({
url:"testserver.php",
dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
success:function(json){
// do stuff with json (in this case an array)
alert("Success");
},
error:function(){
alert("Error");
}
});
PHP:
<?php
$arr = array("element1","element2",array("element31","element32"));
$arr['name'] = "response";
echo $_GET['callback']."(".json_encode($arr).");";
?>
Echo yanlış olabilir, yaptım php beri bir süre oldu. Çıkış callbackName için gereken her durumda('jsonString') tırnak işaretleri dikkat edin. jQuery kullanımı OLSUN o olursa olsun, ne kadar kendi geri adım geçecek.
Ve Stefan Kendall gönderildi, $.getJSON() kestirme bir yöntemdir, ama sonra eklemek gerekir'=? callback', url parametre olarak ALMAK için (Evet, değer mi ?, jQuery kendi oluşturulan geri arama yöntemi) ile değiştirir.

jQuery AJAX etki alanı çapraz...
Firefox çapraz etki alanı ajax isteği ...
Çapraz etki alanı AJAX çağrısı...
Çapraz Etki Alanı Tanımlama...
Nasıl Facebook tuval sayfalarda iframe...