2

我有一个带有 jQ​​uery 函数和 PHP 脚本的文件夹“js”。在另一个文件夹中,我有 HTML 文件。所以这是现在的结构:

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

JavaScript 代码是从 HTML 调用的,它工作正常,但 jQuery post 函数不调用 PHP 脚本。

如果我将 HTML 文件移动到“js”文件夹中,它可以完美运行,并且 PHP 脚本也可以正常调用。

为什么会发生这种情况?


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

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

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

4

2 回答 2

3

问题可能是您正在调用的 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 文件的任何位置,因此将来无需编辑文件(假设绝对路径将始终在同一个位置)。

于 2013-07-04T23:16:08.913 回答
2

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

$.post('../js/script.php', function(data) { } );
于 2013-07-04T23:09:59.963 回答