Ajax-вызов имеет другой URL в Chrome, чем Firefox - PullRequest
1 голос
/ 14 января 2011

Я обнаружил, что при вызове ajax URL выглядит по-разному в chrome и firefox.

У меня есть следующий код:

       commandUrl = 'Demo/A/';
       $.ajax(
              {
                url: commandUrl,
                data: { id: index },
                type: "GET",
                success: function (data) {
                  $("#serverMessage").html(data);
                }
                ,
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                  alert(textStatus + " - " + errorThrown);

                }
              })

В chrome вышеприведенное НЕ работает, и http-запрос, который не выполняется, имеет формат

http://ip:port/Demo/Demo/A?id=0

но в Firefox он работает с URL: http://ip:port/Demo/A?id=0

Я использую Asp.net MVC 2 (где моим контроллером является Demo), который может объяснить, что происходит, но ясно, что я не уверен, почему происходит изменение между двумя разными браузерами.

JD

1 Ответ

3 голосов
/ 14 января 2011

Вы никогда не должны жестко кодировать URL, как это. Всегда используйте URL-помощники при работе с URL:

commandUrl = '<%= Url.Action("A") %>';
$.ajax({
    url: commandUrl,
    data: { id: index },
    type: "GET",
    success: function (data) {
        $("#serverMessage").html(data);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert(textStatus + " - " + errorThrown);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...