Подтвердить что ты не робот

Как обновить страницу с помощью jQuery, передав параметр URL

Я обновляю свою страницу с помощью jQuery:

location.reload();

Это отлично работает, но я хочу обновить одну и ту же страницу, передав параметр URL.

Как это сделать, используя jQuery?

Пример:

Если мой url www.myweb.com, я хочу обновить его, передав параметр, подобный этому

  www.myweb.com?single

Спасибо

4b9b3361

Ответ 1

Вы должны выполнить это, используя location.href

if(window.location.hostname == "www.myweb.com"){
   window.location.href = window.location.href + "?single";
}

Ответ 2

Я бы использовал REGEX с .replace следующим образом:

window.location.href = window.location.href.replace( /[\?#].*|$/, "?single" );

Ответ 3

если window.location.hash пуст, вы не можете назначить location.href новое значение без использования правильной функции (по крайней мере, проверено на хроме).

попробуйте window.location.replace:

if (!window.location.hash) 
    {
        window.location.replace(window.location.href + "?single")
    } 

Ответ 4

Объяснение: я предпочитаю window.location = "?single"; или window.location += "?single";

Ответ 5

Вы могли просто сделать:

var varAppend = "?single";
window.location.href = window.location.href.replace(".com",".com" + varAppend);

В отличие от других предоставленных ответов, нет никакой ненужной условной проверки. Если вы правильно проектируете проект, вы позволяете интерфейсу принимать решения и вызывать этот оператор всякий раз, когда событие было инициировано.

Поскольку в вашем URL будет только один ".com", он просто заменит .com на .com?single. Я просто добавил varAppend на случай, если вы захотите изменить код в будущем с помощью разных типов URL-адресов.

Еще одно примечание: .replace работает, добавляя в href, поскольку href возвращает строку, содержащую полную информацию о адресе URL.

Ответ 6

var singleText = "single";
var s = window.location.search;

if (s.indexOf(singleText) == -1) {
    window.location.href += (s.substring(0,1) == "?") ? "&" : "?" + singleText;
}

Ответ 7

Нажмите эти ссылки, чтобы увидеть эти более гибкие и надежные решения. Они отвечают на аналогичный вопрос:

Это позволяет вам программно устанавливать параметр и, в отличие от других хаков, предлагаемых для этого вопроса, не будет ломаться для URL-адресов, у которых уже есть параметр, или если что-то еще не совсем то, что вы считали возможным.

Ответ 8

Я использую Jquery Load для этого, отлично работает для меня. проверьте мой код из моего проекта. Мне нужно обновить с помощью аргументов, чтобы поместить переменную Javascript в php

if (isset($_GET['language'])){
    $language = $_GET['language'];
}else{
    echo '<script>';    
    echo '  var userLang = navigator.language || navigator.userLanguage;';
    echo '  if(userLang.search("zh") != -1) {';
    echo '      var language = "chn";';
    echo '  }else{';
    echo '      var language = "eng";';
    echo '  }';
    echo '$("html").load("index.php","language=" + language);';
    echo '</script>';
    die;
}