我想在js中發送ajax數組,並將它作爲數組在php中獲取並插入到sql中。如何在Ajax中發送數組並將其作爲數組在0123中獲取它
我的Ajax調用是這樣的:
jQuery("#Save").click(function() {
$(".linesView").each(function() {
var action_name = "";
if (window.current_category === "Expenses") {
action_name = "Save_Expenses"
} else if(window.current_category === "Incomes") {
action_name = "Save_Incomes"
}
var line_id = $(this).attr("id").substring(5);
var category = $("#CategoryValue_" + line_id).html();
var date = $("#DateValue_" + line_id).html();
var amount = $("#AmountValue_" + line_id).val();
var repeated = $("#RepeatedValue_" + line_id).html();
var note = $("#NoteValue_" + line_id).val();
var data = json_encode([category,date,amount,repeated,note]);
$.post("AjaxHandler.php", { "action_name": action_name, "data": data }, function() {
//$("#ExpensesId_" + id).css('display', 'none');
});
});
});
需要得到Ajax調用並添加數據(由SQL INSERT)的PHP代碼如下所示:
if(isset($_POST['action_name','data'])) {
$action_name = $_POST['action_name'];
$data=json_decode($_POST['data']);
$query = mysql_query("INSERT INTO Expenses (accountid, category, date, amount, repeated) VALUES ('$accountid', '$data[0]', '$data[1]', '$data[2]', '0')");
}
的accountid
從哪裏來頁面的頂部,我已經做刪除操作,它工作正常,所以accountid
是好的。所有其他人,我不知道。
我試着編碼然後解碼。我不確定語法是否正確。無論如何,如果我沒有寫出優雅的代碼,請告訴我它是如何看起來的。也許我需要從數據中獲取每個參數,而不是致電data[x]
?
'json_encode'是不是一個有效的JavaScript函數,它是一個PHP函數 –
歡迎堆棧溢出!我編輯了你的問題來解決幾個錯誤。我還縮進了代碼示例,以便它能夠正確呈現 - 請參閱編輯幫助以獲取有關格式化的更多信息。另外,請注意,您不需要在問題的底部或開頭添加求助信息。祝你好運! – Wtower