[英]Passing data using jQuery Ajax?
我有下面的HTML頁面:
<!DOCTYPE html>
<html lang="en">
<head>
<title>HTML</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
$("#b1").click(function(event) {
$.ajax({
type : "POST",
url : "index.php",
data : "valx=2",
contentType : "application/x-www-form-urlencoded",
dataType : "text",
complete : function() {
alert('post completed');
},
error : function() {
alert('error condition');
},
success : function(data) {
$('.result').html(data);
alert('data is returned');
},
statusCode : {
200 : function() {
alert("page was found");
}
}
});
event.preventDefault();
});
});
</script>
</head>
<body>
<div>
<button id="b1">
Click Me!
</button>
</div>
<div class="result"></div>
</body>
</html>
然后,我有以下php頁面:
<?php
$my_string = $_REQUEST["valx"];
$my_string = $my_string +9;
echo $my_string;
?>
一切都按原樣完美運行,但是我試圖弄清楚如何將發布數據更改為表單:
data: '{ valx:"2"}'
這就是它的壞處。 我嘗試了多種形式的數據:'{valx:“ 2”}'仍然沒有運氣。 似乎php腳本無法正確獲取數據。 另請注意,使用這種格式似乎也需要更改contentType : "application/x-www-form-urlencoded",
。
因此,問題是如何傳遞表單data: '{ valx:"2"}'
並返回11的響應?
謝謝,吉姆
data參數接受var=value&var1=value1
形式, 或帶有鍵/值的JavaScript對象。 您已經給了它,這是一個字符串...
data: '{ valx:"2"}`
...當您應該給它一個真實的JS對象時:
data: { valx:"2"}
使用對象而不是字符串。 jQuery會將對象解析為表單編碼格式。 還要完全刪除contentType
選項,因為這不是要發送的數據類型,而是用於接收的數據,您將接收text / html
data : { valx:"2"},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.