请选择 进入手机版|继续访问电脑版
发新帖

问个 ajax 的问题,谢谢帮助

[复制链接]
6149 28

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在 django 中,前端发送了数据,我后台返回了{‘ res ’:0},在前端 response 中也接受到了,为什么 ajax 一直走 err 啊?是返回格式不对吗,应该在哪改啊?谢谢了

举报 使用道具

回复

精彩评论28

liuxu  新手上路  发表于 2018-3-6 19:39:31 | 显示全部楼层
json 应该用双引号

举报 使用道具

回复
bmcjxhgwy  新手上路  发表于 2018-3-6 19:44:29 | 显示全部楼层
谢谢,但他还是走 err  我返回的 data 是个 object,但一旦打印 data.res  他就显示 undefined,我觉得是返回的格式不对,但是不知道怎么改

举报 使用道具

回复
gongpeione  新手上路  发表于 2018-3-6 19:59:51 | 显示全部楼层
跨域了?

举报 使用道具

回复
bmcjxhgwy  新手上路  发表于 2018-3-6 20:00:33 | 显示全部楼层
在 F12 页面上没显示有跨域的问题.....

举报 使用道具

回复
bmcjxhgwy  新手上路  发表于 2018-3-6 20:06:28 | 显示全部楼层
我用了 jsonp 应该不会有跨域的请求..

举报 使用道具

回复
loading  新手上路  发表于 2018-3-6 20:18:13 | 显示全部楼层
返回没指定 mime ?
或者 js 里面先 序列化一下。

jQuery.parseJSON(jsonstr),

举报 使用道具

回复
bmcjxhgwy  新手上路  发表于 2018-3-6 20:21:52 | 显示全部楼层
序列化了好像也没什么用.....

举报 使用道具

回复
bxb100  新手上路  发表于 2018-3-6 20:23:03 | 显示全部楼层
前端用()拼接试试

举报 使用道具

回复
yunhao  新手上路  发表于 2018-3-6 20:23:31 | 显示全部楼层
用 postman 跑一下试试?

举报 使用道具

回复
dinggk  新手上路  发表于 2018-3-6 20:30:21 | 显示全部楼层
后端指定 contenttype text/json

举报 使用道具

回复
summerwar  新手上路  发表于 2018-3-6 20:32:32 | 显示全部楼层
放代码啊 ,难道靠猜吗?不放代码来截图也行啊

举报 使用道具

回复
loading  新手上路  发表于 2018-3-6 20:49:38 | 显示全部楼层
不给代码确实已经没法帮你了。

举报 使用道具

回复
danielfile  新手上路  发表于 2018-3-6 20:50:46 | 显示全部楼层
你是在外面打印的吧?要把 async 设置为 false,默认是异步执行请求的。

举报 使用道具

回复
bmcjxhgwy  新手上路  发表于 2018-3-6 20:55:52 | 显示全部楼层
这是 ajax:
$(function(){
                $('#send-btn').click(function(){
                        $.ajax({
                                url:'http://127.0.0.1:8000/laoguo/',
                                type:'get',
                                data:{'name':'laoguo'},
                                dataType:'jsonp',
                                success:function(data){
                                        if(data.res == 0){
                                                alert('get')
                                        }else{
                                                alert('....')
                                        }
                                },
                                error:function(data){
                                        alert(data.res)
                                }
                            })
                })
        })

这是 django 的 view:
def test(request):
    if request.method == "GET":
        name = request.GET.get("name")
        print(name)
        return JsonResponse({"res":0})
    else:
        name = request.POST.getlist("name")
        print(name)
        return JsonResponse({"res":1})

举报 使用道具

回复
misaka19000  注册会员  发表于 2018-3-6 20:58:55 | 显示全部楼层
看下控制台有没有报错

举报 使用道具

回复
xy90321  新手上路  发表于 2018-3-6 20:59:21 | 显示全部楼层
jquery ?改成下面这样然后设个断点调试下
error: function(data, status, error){
}
总过先看看什么错咯

举报 使用道具

回复
sublime  新手上路  发表于 2018-3-6 21:02:23 | 显示全部楼层
返回的数据格式不对,你这个是 jsonp,需要后台处理下,比如 fn_cb({"res": 0}),不能直接返回 json

举报 使用道具

回复
bmcjxhgwy  新手上路  发表于 2018-3-6 21:04:56 | 显示全部楼层
@sublime fn_cb 是什么....我也觉得是数据格式不对

举报 使用道具

回复
brickyang  新手上路  发表于 2018-3-6 21:09:57 | 显示全部楼层
如果你确实知道是要用 JSONP,那么不能直接返回 JSON,而且 url 也写错了。

https://segmentfault.com/a/1190000008445998

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表