Aarthi.33 Ответов: 2

Я использую приведенный ниже скрипт и получаю эту ошибку, пожалуйста, помогите решить 'parsequery' is undefined


Я использую приведенный ниже скрипт для получения значения строки запроса, но получаю ошибку "ParseQuery is undefined"

Что я уже пробовал:

var test = parseQuery (window.расположение.слишком);
var SSN = test. SSN; / / возвращает 1
// var second = text. second; / / возвращает 2
// такая же вещь:
// first = test ["SSN"]; / / возвращает 1
// second = text ["second"]; / / возвращает 2
$(функция parseQuery (url)
{
результат var = {};
параметры var = окно.расположение.поиск;
// возвращает строку запроса После '?', которая может быть пустой
если (! параметры) возвращают результат;
parameters = параметры[1]. split("&");
(параметр VAR в параметрах) {
var keyValue = parameters[parameter]. split("=");
result[keyValue[0]] = decodeURIComponent(keyValue[1]);
}
возвращаемый результат;

2 Ответов

Рейтинг:
5

Aarthi.33

Спасибо тебе Картик :-)

Рейтинг:
19

Prava-MFS

Я думаю, это потому, что вы определили метод после вашего вызова метода.
Попробовать это :-

$(function parseQuery(url)
{
    var result = {};
    var parameters = window.location.search;
    // returns query string after '?', which can be empty
    if (!parameters) return result;
    parameters = parameters[1].split("&");
    for (var parameter in parameters) {
        var keyValue = parameters[parameter].split("=");
        result[keyValue[0]] = decodeURIComponent(keyValue[1]);
    }
    return result;
});

var test = parseQuery(window.location.href);
var SSN = test.SSN; // returns 1
console.log(SSN);
// var second = text.second; // returns 2
// same thing:
// first = test["SSN"]; // returns 1
// second = text["second"]; // returns 2


Это дает идеальный результат для меня.
Надеюсь, это вам поможет:).

ОБНОВЛЕНИЕ
$(function () {
    //Set the hubs URL for the connection
    function parseQuery(url) {
        var result = {};
        var parameters = window.location.search;
        
        // returns query string after '?', which can be empty
        if (!parameters) return result;
            
        parameters = parameters[1].split("&");
            
        for (var parameter in parameters) {
            var keyValue = parameters[parameter].split("=");
            result[keyValue[0]] = decodeURIComponent(keyValue[1]);
            if (result[keyValue[0]] == null)
                alert("The parameter is null");

            else 
                alert(resultkeyValue[1]);
        }

        return result;
    };

    var test = parseQuery(window.location.href);
    var SSN = test;
});


Удалите $ из функции метода parseQuery (url) { и повторите попытку.


Aarthi.33

Привет все еще я получаю ту же ошибку

Aarthi.33

<!DOCTYPE html>
< html>
< голова>
< title> SignalR простой чат< / title>
< style type= "text/css">
.контейнер {
цвет фона: #99CCFF;
границы: сплошной #808080;
обивка: 20 пикселей;
маржа: в 20px;
}
< / стиль>
< / head>
& lt;тело>
<div class= "контейнер">
в <тип входного="текст" идентификатор="сообщение" /&ГТ;
в <тип входного="кнопка" ID="метод SendMessage" значение="отправить" /&ГТ;
в <тип входного="скрытые" идентификатор="отображаемое имя" /&ГТ;
< ul id= "обсуждение" >< / ul>
< / div>
<!-- Ссылки на сценарии. -->
<!-- Обратитесь к библиотеке jQuery. -->
&ЛТ;скрипт СРЦ="Scripts/jquery-1.6.4.min.js"&ГТ;&ЛТ;/скрипт>
<!-- Обратитесь к библиотеке SignalR. -->
&ЛТ;скрипт СРЦ="Scripts/jquery.signalR-2.0.3.min.js"&ГТ;&ЛТ;/скрипт>
<!-- Ссылка на автогенерированный сценарий концентратора SignalR. -->
&ЛТ;скрипт СРЦ="http://localhost:8080/signalr/hubs"&ГТ;&ЛТ;/скрипт>
<!-- Добавить скрипт для обновления страницы и отправки сообщений.-->
< script type= "text/javascript">
$(функция () {

// Установите URL-адрес концентраторов для подключения
$.связи.хаб.URL-адрес = "http://localhost:8080/signalr";

// Объявите прокси-сервер для ссылки на концентратор.
ВАР чат = $.связи.Майхуб;

// Создайте функцию, которую концентратор может вызывать для широковещательных сообщений.
chat.client.addMessage = функция (имя, сообщение) {
// Html кодирует отображаемое имя и сообщение.
ВАР encodedName = $('&ЛТ;див /&ГТ;').текст(имя).HTML-код();
ВАР encodedMsg = $('&ЛТ;див /&ГТ;').текст(сообщение).HTML-код();
// Добавьте сообщение на страницу.
$('#обсуждение'). append ('< li>'+ encodedName
+ '
: '+ encodedMsg + '< / li>');
};
// Получите имя пользователя и сохраните его, чтобы добавить к сообщениям.
$('#displayname'). val (prompt ('введите свое имя:', "));
// Установите начальный фокус на поле ввода сообщения.
$('#message').сосредоточить();
/ Пуск / подключение.
$. connection. hub. start (). done(функция () {
$('#sendmessage'). click (функция () {
// Вызовите метод Send на концентраторе.
//местоположение.href = "www.google.com";
var someValue = $('#message'). val();
var url = 'https://www.google.co.in?SSN=' + некоторое значение;
окна.открыть(URL-адрес);
// Запишет значение переменной QueryString с именем name в консоль
//чат.сервер.отправить($('#отображаемое имя').функция val(), $('#сообщение').вал());
// Очистить текстовое поле и сбросить фокус для следующего комментария.
$('#сообщение').функция val(").фокус();

});

$(функция parseQuery (url) {
результат var = {};
параметры var = окно.расположение.поиск;
// возвращает строку запроса После '?', которая может быть пустой
если (! параметры) возвращают результат;
parameters = параметры[1]. split("&");
(параметр VAR в параметрах) {
var keyValue = parameters[parameter]. split("=");
result[keyValue[0]] = decodeURIComponent(keyValue[1]);
if (result[keyValue[0]] == null)

alert ("параметр равен null");

else alert (resultkeyValue[1]);

}
возвращаемый результат;
});

var test = parseQuery (window.расположение.слишком);
var SSN = тест

Aarthi.33

Это код, который я использую для передачи значения ssn, получения его из url-адреса и отображения переданного значения с помощью if (result[keyValue[0]] = = null)

alert ("параметр равен null");

else alert (resultkeyValue[1]);


это вышеприведенный код под нижеприведенной функцией

$(функция parseQuery (url) {
результат var = {};
параметры var = окно.расположение.поиск;
// возвращает строку запроса После '?', которая может быть пустой
если (! параметры) возвращают результат;
parameters = параметры[1]. split("&");
(параметр VAR в параметрах) {
var keyValue = parameters[parameter]. split("=");
result[keyValue[0]] = decodeURIComponent(keyValue[1]);
if (result[keyValue[0]] == null)

alert ("параметр равен null");

else alert (resultkeyValue[1]);

}
возвращаемый результат;
});

Aarthi.33

но я не вижу, как это происходит :-(

Prava-MFS

Обновлен код, пожалуйста, проверьте и попробуйте один раз.

Aarthi.33

Спасибо Вам большое право .. это работает, но все равно я не могу получить предупреждение параматера :-(

Prava-MFS

НП :). Пожалуйста, проверьте ссылку, которой поделился Картик. Это лучший способ, насколько я знаю. Дайте мне знать, если у вас возникнут какие-либо проблемы после перехода по ссылке (http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript/901144#901144).