ajax跨域readyState,ajax跨域jsonp並且post請求No 'Access-Control-Allow-Origin'以及執行error時readyState=4同時status=2...

ajax跨域jsonp並且post請求No 'Access-Control-Allow-Origin'以及執行error時readyState=4同時status=200的解決方法

【網上很多網友的回復真是差點讓我笑暈】:什么確保后台返回嚴格的json格式?你這是在質疑后台程序員不懂json么,純屬扯淡

【在進行跨域前,你不得不需要知道的東西】:用ajax進行跨域請求,很多人就知道jsonp,然而很多人根本就不知道使用ajax跨域同時使用jsonp只能支持get方式請求,如果你進行post請求會執行error,並且返回readyState=4同時status=200

【親自完美解決方案】:

(客戶端代碼):客戶端也就是你本地端(例如html文件或者app)

$.ajax({

url:"你的請求地址",

data:你的數據,

dataType:'json', //【這里要小心啊,不要用jsonp,一定是json】

type:'post',

crossDomain: true, //【這個很重要,一定要加】

success:function(result){

console.log(result);

},

error:function(result){

console.log(result);

}

});

(服務器端代碼):就是后台語言端(這里我以php為例)

在你執行所有操作之前加上它,使用的框架的建議放在框架的入口文件的最前面

header('Access-Control-Allow-Origin: *');

header('Access-Control-Allow-Methods: POST');

header('Access-Control-Max-Age: 1000');

馬上試試吧!絕對讓你驚喜的,

大神級別php后台開發官方群(技術角交流互動):188386255

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Vue中动态路由的实现思路: 动态路由可以通过在路由定义时使用冒号加参数名的方式来实现,例如: ``` { path: '/user/:id', component: User } ``` 在组件中可以通过 `$route.params.id` 来获取路由参数。 2. Vue的路由守卫是如何做到拦截的? Vue的路由守卫是通过在路由对象中定义一组钩子函数来实现的,包括全局守卫、路由独享守卫、组件内守卫等。这些钩子函数可以在路由跳转前、跳转后、跳转过程中等不同阶段进拦截和处理。 3. Ajax的响应状态readyState有哪些?分别什么意思? Ajax的响应状态readyState有以下五种: - 0:请未初始化 - 1:服务器连接已建立 - 2:请已接收 - 3:请处理中 - 4:请已完成,且响应已就绪 4. React中循环渲染元素key的作用? 在React中循环渲染元素时,需要为每个元素添加一个key属性,用于帮助React区分不同的元素,从而提高渲染性能和优化用户体验。 5. Js原生方法重写怎么实现? 可以通过给原生方法的prototype对象上添加自定义方法来实现原生方法的重写。例如,可以给Array.prototype对象上添加一个自定义的方法,来重写数组的原生方法: ``` Array.prototype.push = function (item) { console.log('pushing', item) // 调用原生push方法 Array.prototype.push.call(this, item) } ``` 6. 销毁生命周期在什么时候使用?项目中那用过? 销毁生命周期包括 `beforeDestroy` 和 `destroyed` 两个钩子函数,用于在组件销毁之前和销毁之后执一些清理操作。例如,可以在 `beforeDestroy` 中取消定时器、解绑事件等,避免内存泄漏。 在项目中,我曾经在一个音乐播放器组件中使用过销毁生命周期,用于在组件销毁时停止播放音乐、清空播放列表等操作。 7. 项目中遇到怎么处理的?为什么会存在是指在同一名下使用不同协议、不同端口、不同子名等方式进时,浏览器会禁止访问。常见的解决问题的方式有: - JSONP:通过在URL中添加callback参数,让服务器返回一段JavaScript代码,浏览器执该代码从而实现。 - CORS:在服务器端设置Access-Control-Allow-*等头部信息,允许访问。 - 代理:通过在自己的服务器上进数据请,从而避免浏览器访问的问题。 问题存在的原因是浏览器的同源策略,为了保护用户隐私和安全,浏览器限制了不同源之间的访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值