@stsashko_user

Не работает $.ajax через GET в на всех версиях Internet Explorer?

Друзья помогите мне с такой проблемой.
Есть код на стороне клиента
То есть передаю через AJAX параметр GET str
var str = 'тест';
    $.ajax({
       url: 'http://' + window.location.host + '/search/test',
       type : 'GET',
       data: 'str=' + str,
       dataType: "json",
       success: function(res){
        console.log(res);
      }
    });


На стороне сервера принимаю ajax
class Search extends MY_Controller {
public function test()
    {
        echo json_encode($_GET);
    }
}


В результате в браузере Internet Explorer на стороне сервера массив $_GET['str'] является пустым. То есть значение не передается через AJAX.
Смешное то что через POST передается значение .
То есть так работает:
var str = 'тест';
    $.ajax({
       url: 'http://' + window.location.host + '/search/test',
       type : 'POST',
       data: 'str=' + str,
       dataType: "json",
       success: function(res){
        console.log(res);
      }
    });

class Search extends MY_Controller {
public function test()
    {
        echo json_encode($_POST);
    }
}


Как можно решить этот вопрос?
  • Вопрос задан
  • 2838 просмотров
Решения вопроса 2
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
А если попробовать просто
var str = 'тест';
    $.ajax({
       url: 'http://' + window.location.host + '/search/test?str='+encodeURIComponent(str),
       type : 'GET',
       dataType: "json",
       success: function(res){
        console.log(res);
      }
    });
Ответ написан
@amo
Попробуйте так:
var str = 'тест';
    $.ajax({
       url: 'http://' + window.location.host + '/search/test',
       type : 'GET',
       data: {
              str: str
        },
       dataType: "json",
       success: function(res){
        console.log(res);
      }
    });


ну или так, раз уж это GET запрос:
var str = 'тест';
    $.ajax({
       url: 'http://' + window.location.host + '/search/test?str=' + str,
       type : 'GET',
       dataType: "json",
       success: function(res){
        console.log(res);
      }
    });
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mayorovp
Извиняюсь за пустую придирку, но почему вы не написали url: '/search/test'? Откуда эта любовь к абсолютным ссылкам там, где можно без них обойтись?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы