JQuery Ajax Url вопрос - PullRequest
       5

JQuery Ajax Url вопрос

0 голосов
/ 04 июня 2010

Просто быстрый вопрос о функции Ajax JQuery, точнее, о параметре url.

Моя структура каталогов выглядит так:

contact.html
process.php

- elements
   - js
      - jquery.js
      - library.js

Код ниже

...

// Post with Ajax
$.ajax
({
    type : 'POST',
    url : '../../process.php',
    data : fulldata,
success: function()
{
    $('#contact_form #placeholder').html("<div id='success_box'><h3>Message Recieved</h3><p>We will be in touch very soon!</p></div>");
    $('#contact_form form').hide();
},
error: function(xhr)
{
    alert('Request Status: ' + xhr.status + ' Status Text: ' + xhr.statusText + ' ' + xhr.responseText);
}
});
return false;

Каждый раз, когда я отправляю форму, она выдает ошибку, которую я считаю URL-адресом. Как правильно указать файл process.php для отправки с помощью Ajax?

Спасибо

Ответы [ 2 ]

3 голосов
/ 04 июня 2010

URL, который вы используете, является относительным. Это не будет связано с расположением JS, а скорее со страницей, на которой вы его выполняете. Скажем, у вас есть эта структура:

target.php
page1.php
js
--myscript.js
other
--page2.php

Если бы мой JS имел URL "target.php", он работал бы на page1.php, но НЕ на page2.php, поскольку он не находится в том же каталоге на page2.

Если вы не используете какие-то виртуальные хосты или что-то подобное, a.k.a вы работаете в корне домена (например, www.example.com/page1.php), вы можете сделать свой URL относительно корня.

Например, в вашем случае:

URL: "/process.php"

Первая косая черта будет означать использование корня сайта как отправной точки независимо от того, на какой странице вы находитесь.

Кроме того, получите firebug, он может сказать вам, является ли URL причиной проблемы: перейдите на вкладку NET и посмотрите на свои XHR. Если он получает 404 не найден, проблема связана с URL, а если вы получаете ошибку сценария, это определенно не URL

3 голосов
/ 04 июня 2010

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

"/ process.php" или "process.php"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...