javascript - post请求,提示400,怎么破?
PHPz
PHPz 2017-04-10 16:39:30
[JavaScript讨论组]

我写了个修改值的页面,每次到调试那,就直接绕过ajax,进入到行尾了,不进ajax,也不知道接口是对是错?

$.ajax({
                type: "post",
                url: "rls.php",
                data: {
                    "Id" : "${roleId}",
                    "Name" : roleName,
                    "Code" : roleCode
                },
                dataType: 'json',
                contentType: 'application/json;charset=utf-8',
                success: function(data) {
                    console.log("success");
                },
                error: function(data) {
                    if (data.status == '200') {
                        alert('修改成功');
                },
            });

不进这里来,是什么原因
错误代码提示:

Unrecognized token 'Id': was expecting ('true', 'false' or 'null')
 at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@9e3d60d; line: 1, column: 19]
PHPz
PHPz

学习是最好的投资!

全部回复(4)
阿神

从报错信息上看,我传的ID是布尔值,可是我的ID是字符串,怎么会是布尔值,跟做接口的哥们了解后,我的ID是布尔值,但是必须要转换成字符串才可以,所以下面的代码就转换了:然后就OK了

果然,自己挖坑,自己跳,再自己爬出来

data = JSON.stringify(data);
怪我咯

先确定触发事件时候是否正确调用了$.ajax,如果调用正确了,那么报404的话,确定请求的URL路径是否写对,提问不详,无法确定代码的问题在哪儿,仅供参考。

PHPz

400是请求格式不正确的意思。
你可以测试一下:

data: {
    "Id" : true,
    "Name" : roleName,
    "Code" : roleCode
},

或者

data: {
    "Id" : 'true',
    "Name" : roleName,
    "Code" : roleCode
},

如果没有400错误就是格式的问题了。

阿神

绕过ajax没有进入一定是你没在里面设置断点,因为里面看上去的函数,其实只是ajax这个函数的参数。就像fun(a,b,c,d),只是一个函数调用写了很长,但是可以说只有一行,所以你如果是逐行调试的话就会一下子直接跳过,而如果进入函数,那就会跳到ajax的实现方法,所以调试时建议在回调函数里设置断点。


当然,如果是404那就很有可能你把url写错了。检查下你的路径。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号