gpt4 book ai didi

javascript - 无法通过ajax将javascript对象传递给php

转载 作者:行者123 更新时间:2023-12-01 05:36:23 25 4
gpt4 key购买 nike

我在 javascript 中创建了一个新数组,并从函数向其索引添加值,然后将数组传递给 ajaxCall 函数,如果我尝试将其转换为 json 并通过 ajax 将其发送到 php 文件,但变量 json 始终为空。我已经阅读了很多关于如何通过 ajax 发送 json_encoded javascript 对象的内容,看起来这就是实现它的方法,但显然我还没有读得足够多,或者有一些我遗漏的东西。无论如何,我是 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);
}
...

最佳答案

您正在尝试将数组用作哈希,因此未设置值..

而不是设置

var advanceFormVars = new Array();

尝试设置

var advanceFormVars = {};

示例

JS:

var advancedFormVars = {};
advancedFormVars['checkbox1'] = 'valueA';
advancedFormVars['checkbox2'] = 'valueB';

var json = JSON.stringify(advancedFormVars);

console.log(json); //{"checkbox1":"valueA","checkbox2":"valueB"}

PHP

<?php
$json = '{"checkbox1":"valueA","checkbox2":"valueB"}';
$obj = json_decode($json);
var_dump($obj);
/*
object(stdClass)#1 (2) {
["checkbox1"]=>
string(6) "valueA"
["checkbox2"]=>
string(6) "valueB"
}
*/
?>

关于javascript - 无法通过ajax将javascript对象传递给php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33762688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com