我有一個web應用程序,它使得使用Codeigniter-php代碼的服務器發出Ajax請求。 Ajax請求在本地服務器中正常工作,但在應用程序駐留在遠程服務器中時不能正常工作。 控制檯錯誤是:Ajax請求在遠程服務器中工作,但不在本地服務器中(使用Codeigniter)
XMLHttpRequest cannot load http://localhost/CI-example/index.php/control/controlHome. Origin http://www.page.com is not allowed by Access-Control-Allow-Origin.
出人意料的是,請求在服務器發出但沒有迴應。
,我使用Ajax請求的網址是:
AJAX_URL = "http://localhost/CI-example/site/index.php/control/controlHome";
不過,我也已經試過:
AJAX_URL = "http://www.page.com/CI-example/site/index.php/control/controlHome";
而接下來的錯誤都會被抓住:
POST http://www.page.com/webdom/site/index.php/control/controlHome 500 (Internal Server Error)
我該怎麼辦?
編輯: www.page.com是一個子域名。當一個子域用於Ajax請求時,有必要進行一些配置嗎?
和文件夾組織是:
/CI-example
---/application/controllers/control.php
---/system
---/site/js/ajaxRequest.js
你嘗試過'AJAX_URL =「/CI-example/site/index.php/control/controlHome」嗎?您不需要包含主機名稱,因爲AJAX僅對內部請求有效。 –
你有可能重定向嗎?嘗試在單獨的選項卡中調用URL並查看開發人員工具的網絡選項卡。 – Thomas
@AustinMullins,我試過了,錯誤是 – vicenrele