帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
6
帖子
0
勋章
41
Y币

[App引擎] 【已解决】api.ajax post过去后台获取不到值,按照文档写的。

[复制链接]
发表于 2014-10-4 19:50:03
本帖最后由 技术支持-M 于 2016-1-11 18:46 编辑

api.ajax({
                                url:'http://localhost/testPostData.php',
                                method:'post',
                                cache:false,
                                timeout:20,
                                dataType:'json',
                                returnAll:false,
                                headers:{
                                        'Content-type': 'multipart/form-data'
                                },
                                data:{
                                        values:{userName:'1231231322'},
                                }
                        }, function(ret, err){
                                if(ret){
                                        var urlJson=JSON.stringify(ret);
                                        api.alert({msg:urlJson});
                                }else{
                                        api.alert({
                                                msg'错误码:'+err.code+';错误信息:'+err.msg+'网络状态码:'+err.statusCode)
                                        });
                                };
                        });

请问下,后台$_POST["userName"].接受不到数据userName.但是如果不写$_POST["userName"].直接给返回个json句子APP上能获取返回值。就是post 过去的时候获取不了值。
请高手指点啊。感激不尽。

17
帖子
0
勋章
234
Y币
寇飞 发表于 2016-10-12 20:56
你怎么弄的  可以了  为啥我的还是不行

贴代码,没代码看不了
2
帖子
0
勋章
136
Y币
localhost?你在手机上起了一个webserver?
6
帖子
0
勋章
41
Y币
dowellhz 发表于 2014-10-4 21:24
localhost?你在手机上起了一个webserver?

实际代码这里是我局域网另外一台的IP。可以返回数据。只是后台用php  $_POST接收不到数据。
20
帖子
1
勋章
7575
Y币
何妨一下楼 发表于 2014-10-4 22:20
实际代码这里是我局域网另外一台的IP。可以返回数据。只是后台用php  $_POST接收不到数据。 ...

您好,客户端请参考以下代码:
api.ajax({
                       url:'http://xxx.xxx.xxx.xxx/xxx',
                       method: 'post',
                       data: {
                         values:{name: 'devlp', password: '123456'}
                       }
},function(ret,err){
                       if (ret) {
                          api.alert({msg:JSON.stringify(ret)});
                       } else {
                          api.alert({
                              msg :  ('错误码:'+err.code+';错误信息:'+err.msg+'网络状态码:'+err.statusCode)
                          });
                       };
});

去除不必要的信息,如header等,header中的content-type可能会导致你的服务器误判客户端提交的数据类型而忽略提交的数据;

php中:$_POST['paramName']方法只能接收Content-Type为application/x-www-form-urlencoded提交的数据,所以你可以将你的ajax请求中的header中的Content-Type改为application/x-www-form-urlencoded或者直接将header字段去掉,APICloud提供的ajax请求中,Content-Type默认就是application/x-www-form-urlencoded的;

如此即可。



6
帖子
0
勋章
41
Y币
常山赵子云 发表于 2014-10-8 10:55
您好,客户端请参考以下代码:
api.ajax({                       url:'http://xxx.xxx.xxx.xxx/xxx',    ...

非常感谢。
常山赵子云 发表于 2014-10-8 10:55
您好,客户端请参考以下代码:
api.ajax({                       url:'http://xxx.xxx.xxx.xxx/xxx',    ...

如果程序必须加上消息头的话 有没有办法解决呢?
17
帖子
0
勋章
234
Y币
为啥我还是获取不到
5
帖子
0
勋章
1万+
Y币
sasaosasa 发表于 2016-1-11 15:32
为啥我还是获取不到

你打印下全部信息,报什么错
17
帖子
0
勋章
234
Y币
技术支持-M 发表于 2016-1-11 15:35
你打印下全部信息,报什么错

已经可以了谢谢
19
帖子
0
勋章
390
Y币

我也遇到同样的问题,怎么破的?
12下一页
您需要登录后才可以回帖 登录

本版积分规则