[英]What directory does an AJAX call originate?
如果我在外部JavaScript文件中包含以下代碼,請執行以下操作: 如果我要調用的PHP文件位於同一目錄中,是否必須添加“ ../directory/filename.php”? php腳本未運行,並且已在另一個線程中完整發布了該腳本,但我認為它可能與$ .ajax調用中的“ URL”有關。
$.ajax({
type: 'POST',
url: '../script/mail.php',
data: {fname:firstName, lname:lastName, email:emailVal, comment:comments, fileName:fileName},
success: function(){
$('form').each(function() {
this.reset();
});
}
});
上一個問題: ajax調用和表單提交后,PHP Mailer腳本未完成
JavaScript程序(嵌入在網頁中)中的URL相對於頁面 URL。
如果我要調用的PHP文件位於同一目錄中,是否必須添加“ ../directory/filename.php”?
如果filename.php
與HTML文檔位於同一目錄中,則否,您可以執行filename.php
。
如果filename.php
與外部JS文件位於同一目錄中,則可能是…,但您需要查看HTML文檔所在的位置,而不是JS文件。
與鏈接的href組成相同
../
將帶您回到目錄
./
為您提供相對目錄
~/
為您提供/ home / user目錄
/
為您提供根目錄
該目錄相對於正在調用它的文件,而不是.js文件(如果它在另一個目錄中)。
如果不確定,可以先通過提供完整的URL http://<file location>
我通常會先編寫no-js后備代碼。 因此,您擁有一個鏈接,該鏈接會觸發您的函數被首先調用,並且您知道它會到達正確的位置:
<a href="script/mail.php" id="send-mail" />
然后,您可以直接從鏈接中抓取網址:
//add click listener
$('#send-mail').click(function(e) {
e.preventDefault();
//get your link
var myUrl = $(this).attr('href');
//do something ajaxy
$.ajax({
type: 'POST',
url: myUrl,
data: {somedata: data},
success: function(){
//some success actions
}
});
}
對於加分,您可以使用一些php來生成要在鏈接中使用的絕對URL。
對我來說,我總是使用Web目錄中的相對路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.