首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当ajax @post到达php页面时为什么它是空的?

当ajax @post到达php页面时为什么它是空的?
EN

Stack Overflow用户
提问于 2018-06-08 06:28:33
回答 1查看 32关注 0票数 1

我有以下代码,我尝试使用ajax/json将值发布到php文件中。php文件抛出警告:未定义的索引: companyid,未定义的索引: companyname,未定义的索引: calendar_eventStart,未定义的索引: calendar_eventEnd。我意识到使用ajax发布的变量在服务器端被提取时是空的,但我看不出我做错了什么。下面是我的代码:

控制台日志:

数据:{"companyid":1,“companyname”:“十五个AS","calendar_eventStart":"2018-06-06T22:00:00.000Z","calendar_eventEnd":"2018-06-06T22:00:00.000Z"}

jQuery:

var formData = {
                    companyid,
                    companyname,
                    calendar_eventStart,
                    calendar_eventEnd
                };
                formData = (JSON.stringify(formData));
                console.log('Data: ' + formData);                   
                $.ajax({
                url: "create_calendar_event.php",
                type: "post",
                dataType: "json",   
                data:{data: formData},                   
                success: function(response) {
                alert(response);                
                }               
                });

PHP:

var_dump($_POST['companyid']);
var_dump($_POST['companyname']);
var_dump($_POST['calendar_eventStart']);
var_dump($_POST['calendar_eventEnd']);
$event_status = 'Success';
echo json_encode($event_status,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 06:40:14

这里

data:{data: formData},

您正在创建子对象,因此实际数据可以在

$_POST['data']['companyid'] // etc

如果你没有先JSON.stringify(formData)的话。如果保留字符串,$_POST['data']将只包含一个包含数据的字符串。要实现这一点,还需要php的另一个魔力。所以只需删除此处的字符串即可。

但是你不需要额外的'data‘对象。你可以这样做

$.ajax({
      url: "create_calendar_event.php",
      type: "post",
      dataType: "json",   
      data: formData, 
      success: function(response) {
           alert(response);                
      }               
});

最后给JSON.stringify()的说明:除了通过URI ( GET请求)发送数据之外,我想不出还有什么情况需要对jsObject进行字符串化。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50750973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档