[英]Passing an array through jquery ajax to php
我試圖使用serializeArray()將表單輸入轉換為jquery內部的數組(輸入名稱為鍵,值作為值)...然后使用post方法通過$ jquery.ajax ..將其傳遞給php腳本。
$(function () {
$("#xbut").click(function () {
var values = {};
$.each($(':input').serializeArray(), function (i, field) {
values[field.name] = field.value;
});
$.ajax({
type: "POST",
url: 'ajax/NewClient.php',
data: {
clientdata: values
},
success: function (data) {
alert(data);
}
});
return false;
});
});
我昨晚做了這個工作...但是做了一些更改,現在無法還原。 當我將數組轉換用於數據時...我在NewClient.php中找不到$ _POST ['clientdata']。.只是未定義。 如果我將ajax數據更改為字符串...我可以找到我發布的任何內容。
有任何想法嗎?
我很確定
.serializeArray()
應該
.serialize()
$(function() {
$("#xbut").click(function() {
var values = {};
$.ajax({
type: "POST",
url: 'ajax/NewClient.php',
data: { clientdata : $(":input").serialize() },
success: function(data){
alert(data);
}
});
return false;
});
});
我已經測試了您的腳本,它似乎可以正常工作-
<!DOCTYPE html>
<html lang="en">
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<meta charset="utf-8" />
<title></title>
</head>
<script>
$(function() {
$("#xbut").click(function() {
var values = {};
$.each($(':input').serializeArray(), function(i,field){
values[field.name] = field.value;
});
$.ajax({
type: "POST",
url: 'PHPPage3.php',
data: { clientdata : values },
success: function(data){
alert(data);
}
});
return false;
});
});
</script>
<body>
<input type="text" name="tester"/>
<input type="button" value="x" id="xbut"/>
</body>
</html>
然后“ PHPPage3.php”是-
<?php
echo $_POST['clientdata']['tester'];
?>
單擊第一頁上的按鈕后,“測試器”字段中的值將被提醒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.