javascript - Thinkphp使用ajax的時候,有時候使用相對位址是報錯,是什麼原因?

來源:互聯網
上載者:User
比如:

var root=window.location.origin;$.post(root+"/"+url,data,function(d){    console.log(d);  if(d.status==1){    location.reload();  }})

比如上面這段代碼,其中url已經在前面用U方法擷取了相對位址。
如果我在post的時候,直接使用url就會返回整個頁面,
添加了root後,就可以正常使用。

有遇到過相似情況的嗎?

而且只是在有些地方會這樣,一般情況不會出現這樣的。

本頁面使用了百度編輯器,會有什麼影響嗎?

補充說明:
上面可能表達得不太清楚,我添加了root後的請求地址是:root+"/"+url,
沒有添加的時候請求的是:url (這時我並沒有在前面加"/").

url的地址是用Thinkphp的U方法在本頁面擷取的,當然是可以直接存取,正確的地址;所以我才會有這樣疑問。

回複內容:

比如:

var root=window.location.origin;$.post(root+"/"+url,data,function(d){    console.log(d);  if(d.status==1){    location.reload();  }})

比如上面這段代碼,其中url已經在前面用U方法擷取了相對位址。
如果我在post的時候,直接使用url就會返回整個頁面,
添加了root後,就可以正常使用。

有遇到過相似情況的嗎?

而且只是在有些地方會這樣,一般情況不會出現這樣的。

本頁面使用了百度編輯器,會有什麼影響嗎?

補充說明:
上面可能表達得不太清楚,我添加了root後的請求地址是:root+"/"+url,
沒有添加的時候請求的是:url (這時我並沒有在前面加"/").

url的地址是用Thinkphp的U方法在本頁面擷取的,當然是可以直接存取,正確的地址;所以我才會有這樣疑問。

相對位址是相對當前瀏覽器地址欄的地址,和ThinkPHP無關。

/是根地址,直接用/說明從網域名稱+/+url來訪問,如果你訪問的地下剛好是根地址就不會錯,同樣也會出現找不到的問題;
你使用window.location.origin說明你使用了相對位址,你請求的url剛好在window.location.origin這個相對位址下所以才正確的;
你最好把你的AJAX請求路徑都從根目錄開始,寫全路徑,這個問題本身和tp沒什麼關係,是你自己對請求地址的理解不正確。

base_url大法好。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.