最近在做ionic开发项目时,有初前后端交互用到了jsonp跨域请求,与后台约定约定的是返回token值,只是最后在控制台调试的时候出现了莫名其妙的语法错误,找了一个晚上也没有找到原因所在,想请教下各位。
错误请求的提示消息是:
http://xxx.xx.xx.xxx:8180/hcx...
(xxx是服务器地址,错误消息也是就是出在GET请求地址后不该出现的":1")
我的代码截图如下:
"serverUrl"就是上面的http://xxx.xx.xx.xxx:8180/,不知道这token请求后的":1"是如何出现的?
返回内容是json内容
{"status":200,"msg":"OK","data":"{\"id\":\"18\",\"mobile\":\"18668138526\",\"avator\":\"null\",\"balance\":\"0.0\",\"state\":\"null\"}","ok":true}
提示"Uncaught SyntaxError:Unexpected token" ,该如何解决这问题?
巴扎黑2017-04-11 13:12:55
data域的内容不该用引号包起来,你和后端商量下
原来转义符被编辑器吃掉了..
看起来是后端没做好,jsonp不能单纯返回一个json,而应该用请求指定的回调名把内容包装一下
迷茫2017-04-11 13:12:55
又是一个被网上称jsonp可以解决跨域问题毒害的...
jsonp相比cros除了能兼容ie6,7外, 其他没有任何优势, 也一样需要后端支持...并不是什么跨域的接口都可以用jsonp解决的