我巨大的問題,試圖通過這種形式/傳遞一個可變長度的陣列,通過AJAX到PHP
<form id="form">
<select id="<?php echo $answer['aid']; ?>" name="importance[<?php echo $answer['aid']; ?>]">
<option value="0">NO</option>
<option value="25">Unlikely</option>
<option value="50" selected="selected">Neutral</option>
<option value="75">Perhaps</option>
<option value="100">YES</option>
</select>
<input
type="submit" id="submit" value="Next"/>
</form>
我將如何使用jQuery/AJAX來填寫此表。我不想更新整個頁面,所以使用這個AJAX到目前爲止。
$('#form').submit(function() {
alert('Submit button clicked with ServiceID =' + serviceID);
var impArray = $('#form').serialize()
JSONstring = JSON.stringify(impArray)
alert(JSONstring);
$.ajax({
type: "POST",
url: "update_KB.php",
data: JSONstring,
success: function(msg){
alert("Data Saved: " + JSONstring);
}
});
它給了我一個字符串的字符串,看起來像這樣的警報
「的重要性%5B101%5D = 50 &重要性%5B100%5D = 50 &重要性%5B99%5D = 50 &重要性%5B98%5D = 50「
我將如何刪除%5B和%5D或將其解碼,以便將方括號轉回並將其轉換爲數組以提交給SQL字符串?
只需編輯您的原始問題,而不是添加評論。點擊問題左下角的['edit'](http://stackoverflow.com/posts/5538659/edit)鏈接。用於構建表單HTML的PHP不如生成的HTML本身有用。 – 2011-04-04 12:48:47
只發送序列化版本的數組,我不明白你爲什麼想要這個JSONstring = JSON.stringify(impArray) 。另外PHP也有json_decode()(php 5.2+)。 – arma 2011-04-04 12:49:13