gpt4 book ai didi

php - 无法使用 Jquery.post() 发布 JSON 对象

转载 作者:行者123 更新时间:2023-12-01 05:08:07 24 4
gpt4 key购买 nike

我在我的 javascript 应用程序中创建了以下对象。

    poll_data[active_question] = {
'question': $('div.question_wrap textarea').attr('value'),
'answers': [
$('div.answer_wrap input#0').attr('value'),
$('div.answer_wrap input#1').attr('value'),
$('div.answer_wrap input#2').attr('value'),
$('div.answer_wrap input#3').attr('value'),
$('div.answer_wrap input#4').attr('value'),
$('div.answer_wrap input#5').attr('value')
]
};

active_question 设置为“poll”、0、1、2、3、4 或 5,具体取决于当前正在处理的问题。我正在尝试使用以下 JS 代码将此对象发布到 php 脚本。

    $.ajax({
url: '/somewebsite/poll/create?json=show',
type: 'POST',
// dataType: 'json',
data: poll_data,
contentType: 'application/json; charset=utf-8',
success: function(data) {
alert(data);
}
});

我的 PHP 代码非常简单。

    echo json_encode($_POST); exit;

当我运行脚本并单击触发数据提交的按钮时,我收到警报(因此实际的 ajax 代码可以工作),但我的 PHP 脚本的结果只是一个空数组。我认为这是对象构造方式的问题,但我不确定,并且无法找到解决方法。

提前致谢。

最佳答案

好的,有几件事:

poll_data 不是有效的 JSON 对象。您必须使用 poll_data[active_question],它是一个有效的 JSON 对象。 jQuery 应该正确序列化它。删除 contentType ——我很确定这是针对 php 的(不是肯定的),但在我删除它之前,你的代码对我不起作用。最后,将 json=show 附加到查询字符串不会执行任何操作......它只会被忽略。

还有一些小事情:您可以使用 .val() 而不是 .attr('value'),并查看 .serialize () 为您创建帖子数据?

关于php - 无法使用 Jquery.post() 发布 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3903401/

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