2010-06-04 96 views
0

只是關於JQuery的Ajax函數的一個簡單問題,更具體地說就是url參數。JQuery Ajax網址問題

我的目錄結構像這樣:

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; 

的每次我提交表單,它吐出了一個錯誤,我認爲是網址。如何正確指定process.php文件以便使用Ajax進行提交?

感謝

回答

3

您的腳本會在頁面在同一水平process.php頁面上運行。它不會在js文件夾的上下文中運行。因此,你可以將它指向你的應用程序

「/process.php」或「process.php」

3

根您所使用的網址是相對的。它不會與JS位置相關,而是與您正在執行的頁面相關。所以說,你有這樣的結構:

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

如果我的JS們的「target.php」的URL會工作在page1.php中,但不能使page2.php,因爲它不是在第2頁的同一目錄下。

如果您沒有使用某些虛擬主機或其他東西,您可以在域的根目錄(例如www.example.com/page1.php)上操作,您可以使您的URL相對於根目錄。

例如你的情況:

URL: "/process.php" 

第一個斜線將意味着使用本網站作爲一個首發位置的根,不管你是在什麼頁面。

另外,得到螢火蟲,它可以告訴你URL是否是導致問題的原因:轉到NET選項卡,看看你的XHR。如果它沒有找到404,則URL導致問題,如果您收到腳本錯誤,那肯定不是URL