2016-01-19 4 views
-2

Я пытаюсь сделать вызов AJAX с помощью $.get так:

jQuery.get('www.example.com/some-url?q=node/09090&dest=example', function(result) { 
    console.log(result); 
}); 

Пожалуйста, обратите внимание на URL является пустой строкой. Несмотря на то, что я намеренно оставил его пустым, когда я проверяю, что запрос выполняется в текущем url, который берет запрос (где находится мой js).

Для ясности скажем, мой JS находится в пределах страницы для просмотра по этому адресу: www.example.com/my-page с кодом выше, несмотря на то, что я оставил url строку пустой, на Firebug консоли я вижу запрос делается в www.example.com/my-page. Почему это? И самое главное, как я могу избавиться от этого поведения?

Пожалуйста, обратите внимание, что если я что-нибудь добавить к строке URL-адрес следующим образом:

jQuery.get('myfile.php', function(result) { 
    console.log(result); 
}); 

Запрос делается www.example.com/my-pagemyfile.php, что означает, что он добавляет к тому, что я использую на струне URL.

Примечание: по причинам, выходящим за рамки вопроса, js inline. Вот некоторые из моего кода:

MktoForms2.loadForm("someaddress.com", "98978782", 1273, function (form) { 
    var data = modal.find('.downloadResource'); 
    ... 
    jQuery.ajax({url: "", cache: false, success: function (result) { 
     console.log(result); 
    }}); 
}}); 

Просьба проигнорировать некоторые из приведенных выше псевдокодов. Этот код находится на странице Drupal. И он должен быть inline

+1

Что еще более важно, где вы ожидаете запрос без каких-либо адреса, указанного на самом деле быть отправлены? –

+0

Почему голос? – WagnerMatosUK

+0

Если бы это было направлено ко мне, я не спустил вас вниз. –

ответ

1

Это нормальное поведение, чтобы сделать вызов к текущему URL, если вы ничего не добавлять. Конечно, если вы добавите something.php, это будет текущий URL + something.php. Если вы добавите /something.php, это будет текущий домен + something.php. Каков полный URL-адрес, который вы хотите? Возможно, таким образом мы сможем выяснить, какова ваша настоящая «проблема».

Основываясь на ваш комментарий, вы должны иметь:

jQuery.ajax({url: "/?q=something", cache: false, success: function (result) { 
    console.log(result); 
}}); 
+0

Хорошо, как я могу использовать совершенно другой url (хотя тот же домен?). Например, предположим, что текущий URL-адрес «www.example.com/my-file», и я хочу, чтобы запрос был «www.example.com/? Q = node/10090 & dest = somethingelse' – WagnerMatosUK

+1

just do '/? Q = узел/10090 & приемник = somethingelse» –

1

Вы хотите запросить www.example.com/my-file.php? Тогда вы не можете сделать:

jQuery.get('/myfile.php', function(result) { 
    console.log(result); 
}); 
Смежные вопросы