ajax开启跨域的方法

ajax开启跨域的方法:

只要在服务器端的php里面写入:

<?php
header('Access-Control-Allow-Origin:*');
//加入上面一句话就可以跨域访问了

这样就可以在html中访问服务器端的php返回信息了.

html页面ajax:

<script type="text/javascript">

var xhr = new XMLHttpRequest();  
    var url = 'http://***.php;  
    crossDomainRequest();
    function crossDomainRequest() {  
     // document.getElementById("content").innerHTML = "开始……";  
      if (xhr) {  
        xhr.open('GET', url, true);  
        xhr.onreadystatechange = handler;  
        xhr.send();  
      } else {  
        //document.getElementById("content").innerHTML = "不能创建 XMLHttpRequest";
        alert( "不能创建 XMLHttpRequest");
      }  
    }  
    function handler(evtXHR) {  
      if (xhr.readyState == 4) {  
        if (xhr.status == 200) {  
          var response = xhr.responseText;  
          //document.getElementById("content").innerHTML = "结果:" + response;  
          alert(response);
        } else {  
          //document.getElementById("content").innerHTML = "不允许跨域请求。";  
         alert(xhr.readyState+"不允许跨域请求。"+xhr.status);
        }  
      }  
      else {  
        //document.getElementById("content").innerHTML += "<br/>执行状态 readyState:" + xhr.readyState;  
        alert("<br/>执行状态 readyState:" + xhr.readyState);
      }  
    } 
</script>

具体信息:CORS

### 解决 jQuery AJAX POST 请求问题 为了实现通过 jQuery 的 `AJAX` 进行的 `POST` 请求,有几种方法可以选择。其中最常用的方法之一是在服务器端配置 CORS (Cross-Origin Resource Sharing),允许来自特定源的请求。 #### 使用 CORS 配置来处理请求 当浏览器发送带有预检请求(OPTIONS 方法)的请求时,服务器需要返回合适的响应头以告知浏览器该请求是否被授权执行。对于简单的 GET 或者 POST 请求,在服务端设置如下头部信息即可: ```http Access-Control-Allow-Origin: * // 或指定名 Access-Control-Allow-Methods: POST, GET, OPTIONS Access-Control-Max-Age: 1000 Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With ``` 客户端代码可以通过启用 jQuery 对象上的 `.support.cors=true;` 来强制开启对 CORS 支持[^1]。 #### JSONP 替代方案 尽管 JSONP 是一种常见的解决问题的技术,但它仅限于 GET 请求,并不适合用于 POST 请求[^3]。因此,如果必须使用 POST 方式,则应优先考虑 CORS。 #### 后端代理方式 另一种可行的办法是构建一个位于同一下的后端 API 接口作为代理服务器,前端向这个接口发起请求,再由它转发给实际的目标地址并接收回应。这种方法绕过了同源策略限制,因为前后两次通信都发生在相同主机之间。 #### 完整示例:利用 CORS 发送 POST 请求 下面是一个完整的例子展示如何在 JavaScript 中使用 jQuery 和 CORS 执行 POST 请求: ```javascript $(function(){ // 开启cors支持 $.support.cors = true; var url = 'https://example.com/api'; $.ajax({ type: "POST", url: url, data: { key:"value" }, success:function(data){ console.log('Success:',data); }, error:function(xhr,status,errorThrown){ console.error('Error:',errorThrown); } }); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值