【发布时间】:2015-11-17 16:54:34
【问题描述】:
我在 javascript 中创建了一个新数组,我从一个函数向它添加值索引,然后将数组传递给 ajaxCall 函数,如果我尝试将其转换为 json 并通过 ajax 将其发送到 php 文件,但变量 json 始终为空。我一直在阅读很多关于如何通过 ajax 发送 javascript 对象 json_encoded 的内容,看起来这是这样做的方法,但显然我还没有阅读足够多的内容,或者我错过了一些东西。无论如何,我是 javascript 的新手,任何帮助都将不胜感激。
function createArray()
{
var advancedFormVars = new Array();
advancedFormVars['checkbox1'] = document.getElementById('OfferID').value;
advancedFormVars['checkbox2'] =document.getElementById('offerName').value;
AjaxCall(advancedFormVars);
}
function AjaxCall(advancedFormVars){
var json = new Array();
json = JSON.stringify(advancedFormVars); //in debuger it shows me this as content of json variable--> [] but advancedFormVars is not empty
$.ajax({
url : 'AL_loadForm.php',
type : 'POST',
data : {
json : json
},
dataType:'json',
success : function(data) {
alert(data);
}
...
【问题讨论】:
-
PHP 中的关联数组在 JavaScript 中是
object。将advancedFormVars更改为 ->var advancedFormVars = {}; -
你的意思是替换 var advancedFormVars = new Array();为 var advancedFormVars = {}; ??
-
是的。顺便说一句,
var json = new Array();不需要。当您在下一行中用JSON.stringify()的结果覆盖数组时。删除该行并将var添加到下一行 ->var json = JSON.stringify(...); -
非常感谢安德烈亚斯你是老板!!!
标签: javascript php jquery json ajax