Ben bu bir sergiyi bir sabit zaman yaşıyorum. Olursa olsun deneyin, ne gibi PHP her zaman boş bir dizi dönen biter görünüyor. İşte benim ana dosya (index.php) kod var:
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$(".ajaxlink").click(function() {
callServer();
return false; //Stop link from redirecting
});
});
var test = { "testName": "testValue" }
var testJSON = JSON.stringify(test);
function updatePage(data) {
document.getElementById("testDiv").innerHTML = data;
}
function callServer() {
$.ajax({
type: "POST",
url: "ajax/server.php",
data: testJSON,
success: function(data) {
updatePage(data);
},
//Upon error, output message containing a little info on what went wrong
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('An Ajax error occured\ntextStatus = ' + textStatus + '\nerrorThrown = ' + errorThrown + '\nstatus = ' + XMLHttpRequest.status);
}
});
}
</script>
<div id="testDiv">Something here</div>
<a href="test1.htm" class="ajaxlink">Link!</a> <br>
Eğer "Bağlantı!" Tıkladıklarında Bu temelde CallServer () fonksiyonunu çalıştırır. Server.php için: Bu o {"TestValue" "TestName"}, bu test json veri gönderir. Kundakçı json veri gerçekten server.php gönderilen olduğunu bildirdi.
Benim server.php bu gibi görünüyor:
<?php
print_r($_POST);
?>
Bu testDiv de aşağıdaki döndürür:
Array
(
)
. Ajax fonksiyonunda veri türü tanımlı değil, bu yüzden server.php dosya tükürür ne çıktı, bu okunabilir olmalıdır. Gerekli tüm kütüphaneler (json, jquery) hem de benim belgeye dahil edilmiştir. Ben Apache 2.2 ve PHP 5.3.1 Bu koşuyorum, ama bu (web sitelerinin binlerce için bir ev sahibi olan) benim webserver aynı gösterir. Istek başlığında kullanılan içerik türü 'application / x-www-form-urlencoded olup; charset = UTF-8 'o düzgün çalışmalıdır yani.
Thanks for your time. Best regards soren