方法一:
采用 jsonp 方式实现解决,建议采取这种方式实现。
前端代码:
$.ajax({ type: "POST", url: "http://*", data: { 'vCode': vcode }, dataType:'jsonp', jsonp:'jsoncallback', crossDomain: true, success: function(rs) { alert(rs.data); }, error: function() { } })
方法二:
采用后台允许相应请求头方式、实现跨域请求。缺点:需后台配置实现允许相应响应头,不灵活。
前端代码:
$.ajax({ type: "POST", url: "http://*", data: { 'vCode': vcode }, dataType: 'json', xhrFields: { withCredentials: true }, crossDomain: true, success: function(rs) { alert(rs.data); }, error: function() { } }) }
json 请求方式:
$.ajax({ type: "POST", url: base_url+"/cms/web/bespeak", contentType: "application/json", crossDomain: true, data: JSON.stringify({ 'verifyCode': vcode }), success: function(rs) { console.log(rs); } });
服务器端设置:
前端方式一:
数据返回形式:jsoncallback(data)
例如:
jsoncallback({"data":"验证失败","errorCode":0,"errorMsg":"success"})
前端方式二:
前端提交数据方式 如是 content-type:application/json
服务器需要支持 options 请求方式,前端设置请求头发出请求,浏览器会发出预请求来进行证书校验。
options(仅需要设置响应头,设置状态码 200 返回即可)以及真正的请求方式 响应头设置:
Access-Control-Allow-Origin http://* Access-Control-Allow-Methods GET, POST, PUT, DELETE, OPTIONS Access-Control-Allow-Credentials true
原文出自:https://blog.csdn.net/u014692324/article/details/78782900
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于