![](/img/trans.png)
[英]Adding subkey-value pairs to existing array (or JSON object?) in javascript
[英]Adding Javascript Object inside existing JSON Array
抱歉,如果這看起來很明顯,但我已經迷失了幾個小時。
我正在嘗試創建一個 javascript object 並將其傳遞給 PHP 頁面使用 JQuery's.Z2705A83A39A0659EDA5264。
JS object 看起來像:
let transactions = {};
let counter = 0;
($.each loop) {
transactions[counter] = {
"code": code,
"agency_number": agency_number,
"agency_code": agency_code
};
counter++;
}
然后我需要將它與另一個字段一起添加到 JSON 數組
let formData = [{}];
formData.push({name: 'page', value: aPage});
formData.push({name: "transactions", value: JSON.stringify(transactions)});
AJAX 調用如下:
let ajax_call=$.ajax({
datatype: "json",
method: "POST",
url: "theURL",
data: formData,
timeout: 15000,
async: true
});
ajax_call.done(function( data, textStatus, jqXHR ) {
... blah ...
在 JSON.stringify 中包裝事務似乎不起作用。 在 PHP 端,事務的 POST 值如下所示:
"{0:{CODE:300,AGENCY_NUMBER:20,AGENCY_CODE:50}}"
沒有滴答聲,這不允許我使用 json_decode。 它按預期輸出“語法錯誤”。
將其作為事務傳遞,沒有 JSON.stringify 會產生結果:
formData.push({name: "transactions", value: transactions});
=
"[OBJECT OBJECT]"
這是一個字符串表示,而不是實際的 object 可以使用。
到目前為止,我沒有對 POST 值做任何事情。 這就是 PHP 頁面接收它們的方式。
任何幫助將不勝感激。
謝謝!
編輯 - 這里的代碼實際上沒有任何問題。 我限制引號以及其他特殊字符在 IIS 中訪問 web 服務器。 這就是為什么它在沒有他們的情況下得以實現。 一切都很好,我只是愚蠢。
否則謝謝大家的幫助。
JQuery ajax.data 可以接受常規的 JS 對象。 您不必創建名稱:值對和對任何內容進行字符串化。
這應該會更好:
const formData = {
page: aPage,
transactions: []
};
($.each loop) {
formData.transactions.push({
"code": code,
"agency_number": agency_number,
"agency_code": agency_code
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.