如果我在下面的代碼中將類型設置爲'GET',它可以工作,但是我不能讓它與'POST'一起工作。不能讓jQuery ajax POST開始工作
ajaxPostTest.html ...
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: "ajaxPostTest_server.php",
data: {"fruit1": "rasp", "fruit2": "bramble"},
type: 'POST',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(data){
$("#returned").append(data.fruit1);
},
error: function(jqXHR, textStatus, errorThrown){
alert("error") ;
}
});
});
</script>
</head>
<body>
<div id="returned">returned: </div>
</body>
</html>
ajaxPostTest_server.php ...
<?php
echo json_encode($_REQUEST);
?>
瀏覽器的預期輸出是...
returned: rasp
我實際上試圖與ASP.NET Web服務器交互,我想確認我的ajax正在工作(並且我正確理解ajax) - 首先 - 因此這個簡化的代碼。
Firebug的調試......
Response Headersview source
Date Fri, 23 Sep 2011 14:57:37 GMT
Server Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By PHP/5.3.1
Keep-Alive timeout=5, max=99
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html
Request Headersview source
Host localhost
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.18) Gecko/20110614 Firefox/3.6.18
Accept application/json, text/javascript, */*; q=0.01
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Content-Type application/json; charset=utf-8
X-Requested-With XMLHttpRequest
Referer http://localhost/My_Webs/temp/ajaxPostText1.html
Content-Length 26
Cookie PHPSESSID=mgvoacnluh3kad5pakafrd5kd1
所有我在 '響應' 選項卡得到的是...
{"PHPSESSID":"mgvoacnluh3kad5pakafrd5kd1"}
即我找不到我發送到服務器的數據在哪裏。
你可以使用螢火蟲,併發布錯誤,或從控制檯響應? – AJC
爲什麼你將請求的內容類型設置爲「application/json」?將其設置爲「application/x-www-form-urlencoded」(默認值),然後重試。 – Niko
@AJC。添加了對我的問題的回覆。 – spiderplant0