Vue,获取API数据

    mounted:function () {
        var newServer=JSON.stringify(this.toServer);
        $.ajax({
            url:'/Add',
            type:'post',
            data: newServer,
            dataType:'json',
            crossDomain: true,
            contentType : 'application/json',
            processData : false,
            success:function (rel) {
                console.log(rel);

            },
            error:function (rel) {
                console.log(rel);
            }
        })
    }
    
    为什么这个传给data的newServer不加{}就会报500 (Internal Server Error)?
阅读 6.8k
7 个回答

传过去的数据不是标准的json吧你打出来看了吗。500是服务器没解出来你的参数。

想看下你的this.toServer打印出来是什么样子的。

图片描述

这是我打印出来的toServer

新手上路,请多包涵

clipboard.png

data里面直接传this.toServer本身是支持json数据的,不需要转字符串(而且你转出来的字符串后台只能通过特殊方式获取)

ajax的data默认会接收一个字符串,然后拼接在参数的后面,类似这样:url?a=1&b=2,如果想要传一个json对象(即contentType:json),那么要加processData:true

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题