Когда когда-либо я запускаю хостинг-проект, работайте отлично.
когда я тестирую другой проект, который дает мне ошибку, или я не мог получить ответ от служб. я много стараюсь, но не работаю
мой Ajax Call:
self.ValidLogin = function () { try { $.ajax({ type: "GET", url: "http://xxx.xxx.xxx.xxx/TEST/index.php/TestController/TestMethod?UserName=superadmin&Password=super", , crossDomain: true, contentType: "application/json; charset=utf-8", async: false, dataType: 'json', cache: false, success: function (response) { alert("valid response"); }, error: function (ErrorResponse) { alert("error"); } }); } catch (error) { alert("Catch:" + error); } }
Сфера обслуживания:
public function TestMethod() { parse_str($_SERVER['QUERY_STRING'],$_GET); $UserName = $_GET['UserName']; $Password = $_GET['Password']; $this->load->model('LoginModel'); $result = $this->LoginModel->Login($UserName,$Password); header('Content-type: application/json'); header('Access-Control-Allow-Origin: *'); echo json_encode($result); }
что мне делать?
После того, как Long Rnd получил решение
self.ValidLogin= function () { try { $.ajax({ type: "GET", url: "http://xxx.xxx.xxx.xxx/TEST/index.php/TestController/TestMethod?UserName=superadmin&Password=super", crossDomain: true, contentType: "application/x-www-form-urlencoded", async: false, dataType: 'json', processData: false, cache: false, success: function (response) { alert("valid response"); }, error: function (ErrorResponse) { alert("error"); } }); } catch (error) { } }
переехать
header('Access-Control-Allow-Origin:*');
наверху
Я попробовал это на своем контроллере:
function __construct() { parent::__construct(); $this->output->set_header('Access-Control-Allow-Origin: *'); }
И это работает! Но нет для всех страниц. Я все еще ищу решение для всего контента. Я предполагаю, что этот конфиг должен быть на автозагрузке или что-то в этом роде.