[英]JSON not passing array data to PHP
我正在嘗試將我的代碼更改為在上一個問題的推薦下使用json來簡化事情...
在客戶端:
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery.tablednd_0_5.js"></script>
<script type="text/javascript" src="../js/jquery.json-2.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#table').tableDnD();
});
function sendData() {
data = $('#table').tableDnDSerialize();
alert(data); // shows expected data
document.dataform.data.value = $.toJson(data);
document.data.submit();
}
</script>
<form action="$php_page_name" method="post" name="dataform" onSubmit="sendData()">
<input type="hidden" name="data" />
<input type="submit" value="Submit" />
</form>
js alert輸出預期的數組,我認為到此為止它會轉換為字符串。 但是當我提交form.data時,我的php:
$data = json_decode($_POST['data']);
print_r($data);
print_r($_POST);
僅返回:
數組([data] =>)
有什么想法為什么沒有通過?
干杯,安迪
您需要等待函數的返回:
onSubmit="return sendData()"
否則,表單將立即提交,並且不會等到數據更改后再提交。
函數內部替換此
document.data.submit();
有了這個:
return true;
此外:假設您將其用作jquery.json-2.2.js:
http://code.google.com/p/jquery-json/downloads/detail?name=jquery.json-2.2.js&can=2&q=
方法名稱是
$.toJSON
代替$.toJson
盡量不要命名相同的元素。 您的表單名為“數據”,隱藏的輸入也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.