为什么jquery没有';当HTML文件在另一个地方时,不要调用PHP


Why jquery doesn't call PHP when the HTML file is in another place?

我有一个带有jQuery函数和PHP脚本的文件夹"js"。在另一个文件夹中,我有HTML文件。这就是目前的结构:

/server/js/global.js
/server/js/script.php
/server/html/student.html

JavaScript代码是从HTML中调用的,它运行良好,但jQuerypost函数不调用PHP脚本。

如果我把HTML文件移到"js"文件夹中,它就可以完美地工作,并且PHP脚本被称为fine。

为什么会发生这种情况?


我的意思是:下一条路径上代表的路径是什么?

$.post('script.php',...);

它是从JavaScript文件夹还是从HTML文件夹调用文件?

问题可能是您正在调用的Javascript文件global.js使用的是所有Javascript文件使用的路径,该路径是相对于您当前查看的网页的路径。检查这是否是问题所在(比如相对路径),并确保路径是绝对的而不是相对的。例如,在global.js中,有一部分说:

    $.post(
        'script.php',
        { nameValue: name.value },

将其更改为:

    $.post(  
        '/path/to/file/script.php',  
        { nameValue: name.value },

举个例子,你的情况是这样的:

    $.post(  
        '/server/js/script.php',  
        { nameValue: name.value },

这样,它在任何情况下都可以调用global.js,因为绝对路径不取决于查看文件的位置。它还可以适应您放置html文件的任何位置,因此将来无需编辑文件(假设绝对路径始终在同一位置)。

这取决于如何从HTML文件中调用JS代码,但是试着使用JQuery这样的帖子:

$.post('../js/script.php', function(data) { } );