宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

ajax本地跨域請求以及解決方法

管理 管理 編輯 刪除

什么是跨域?

我們通常所說的跨域是狹義的,是由瀏覽器同源策略限制的一類請求場景。所謂同源是指"協(xié)議+域名+端口"三者相同,即便兩個不同的域名指向同一個ip地址,也非同源,只要沒有同時滿足這三個條件的請求即為跨域請求,跨域請求控制臺一般會出現(xiàn)類似錯誤:

XMLHttpRequest cannot load http://xxxxx.php.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://xxx' is therefore not allowed access.

設置本地跨域

首先我們在本地設置本地跨域請求,首先需要安裝wamp服務器,其默認的localhost端口為80,我們找到wamp的安裝路徑,如我的是安裝在D盤,則在D:\wamp\bin\apache \apache2.4.9\conf\中打開httpd.conf文件,在Listen [::0]:80語句下添加Listen [::0]:8011,點擊保存,重啟wamp或Apach,這樣我們就配置了一個localhost:8011端口。接下來在wamp\www文件夾中新建test1和test2文件夾,在test1下新建index文件,在test2文件夾下新建index2.php文件。

方法一:

1)test1/index.html文件js代碼如下:

<script>
   $(function(){
        $.ajax( {
            url: "http://localhost:8011/test2/index2.php",
            type: 'get',
           dataType: 'jsonp', // 請求方式為jsonp
           jsonpCallback: "onBack", // 自定義回調(diào)函數(shù)名
           success: function(data){
              console.info(data)
           }
       });
 });
</script>

2)test2/index2.php文件代碼如下:

<?php
     $callback=$_GET['callback'];
     $data=array('a'=>1,'b'=>2,'c'=>3);
     echo $callback.'('.json_encode($data).')';
?>

這樣就可以進行ajax訪問了。

方法二:

1)test1/index.html文件js代碼如下:

<script>
  function dosomething(jsondata){
        console.log(jsondata)
  }
</script>
<script src="http://localhost:8011/test2/index2.php?callback=dosomething"></script>

2)test2/index2.php文件代碼同方法一的test2/index2.php

這樣第二種方法也ok

方法三:

1)test1/index.html文件js代碼如下:

$.ajax({
     url: 'http://localhost:8011/test2/index2.php?callback=myFunction',
     type: 'get',
     data: {},
     success: function(json){
     console.log(json)
     },
     error: function(){
     alert('fail');
     }
 });

2)test2/index2.php文件代碼:

<?php
     header('Access-Control-Allow-Origin:*');
     $callback=$_GET['callback'];
     $data=array('a'=>1,'b'=>2,'c'=>3);
     echo $callback.'('.json_encode($data).')';
?>

這樣第三種方法也行啦

請求方式:

1)在html的ajax請求中dataType: 'jsonp',這句是關鍵,沒有這句就沒法進行ajax請求。這也就是jsonp的跨域請求方式。缺點就是只能通過GET的請求方法,不能用POST。

2)第二種方法是利用script的src不受同源限制,進行的方法回調(diào)進行跨域請求。

3)第三種方法是跨域資源共享(CORS),通過在請求文件添加header('Access-Control-Allow-Origin:*');[//指定允許其他域名訪問]實現(xiàn)跨域的,可以多種請求方法。

4)還有其他的方法,這邊就不一 一講述啦


請登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2023-03-20 11:36:04

快捷回復
回復
回復
回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
排序 默認正序 回復倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復' : '回復'}}
刪除
回復
回復

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復' : '回復'}}
刪除
回復
回復
查看更多
打賞
已打賞¥{{reward_price}}
4008
{{like_count}}
{{collect_count}}
添加回復 ({{post_count}})

相關推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復
回復
問題:
問題自動獲取的帖子內(nèi)容,不準確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認打賞

微信登錄/注冊

切換手機號登錄

{{ bind_phone ? '綁定手機' : '手機登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服