如果我在外部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();
});
}
});
上一个问题: PHP Mailer script not completing after ajax call and form submit
答案 0 :(得分:2)
JavaScript程序中的网址(嵌入在网页中)与网页的网址相关。
如果我调用的PHP文件位于同一目录中,我是否必须添加" ../ directory / filename.php"?
如果filename.php
与HTML文档位于同一目录中,那么不,您可以filename.php
。
如果filename.php
与外部JS文件位于同一目录中,那么......也许,但您需要查看HTML文档的位置,而不是JS文件。
答案 1 :(得分:1)
与链接
答案 2 :(得分:1)
我通常先编码我的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,用于你的链接。
答案 3 :(得分:0)
对我来说,我总是使用来自web目录的相对路径。
答案 4 :(得分:0)
../
将带您回到目录
./
为您提供相对目录
~/
为您提供/ home / user目录
/
为您提供根目录
该目录是相对于调用它的文件而不是.js文件,如果它在另一个目录中。
如果您不确定,您可以先测试,先给它完整的网址http://<file location>