Php Ajax:尝试使用相对路径时出现Post错误
努力获取Ajax post请求的相对路径以获取php文件。我没有出错,只是什么都没发生 浏览了这个网站,但在我了解的Ajax相关路径上找不到以前的答案。还是个新手。如果有人能用外行的语言解释,我会非常感激的 我试图从根文件“index.php”访问php文件“search/search.php”。该文件包含Ajax请求。当两个文件都在同一目录中时,这种方法就起作用了 文件结构如下: JQuery代码片段:Php Ajax:尝试使用相对路径时出现Post错误,php,jquery,ajax,relative-path,Php,Jquery,Ajax,Relative Path,努力获取Ajax post请求的相对路径以获取php文件。我没有出错,只是什么都没发生 浏览了这个网站,但在我了解的Ajax相关路径上找不到以前的答案。还是个新手。如果有人能用外行的语言解释,我会非常感激的 我试图从根文件“index.php”访问php文件“search/search.php”。该文件包含Ajax请求。当两个文件都在同一目录中时,这种方法就起作用了 文件结构如下: JQuery代码片段: $(function() { $('form').on("submit", funct
$(function() {
$('form').on("submit", function(e) {
e.preventDefault();
$('#error').text(""); // reset
var name = $.trim($("#search").val());
if (name.match(/[^a-zA-Z0-9 ]/g)) {
$('#error').text('Please enter letters and spaces only');
return false;
}
if (name === '') {
$('#error').text('Please enter some text');
return false;
}
if (name.length > 0 && name.length < 3) {
$('#error').text('Please enter more letters');
return false;
}
$.ajax({
url: 'search/search.php',
method: 'POST',
data: {
msg: name
},
dataType: 'json',
success: function(response) {
$(".content").html("")
$(".total").html("")
if(response){
var total = response.length;
$('.total') .append(total + " Results");
}
$.each(response, function() {
$.each($(this), function(i, item) {
var mycss = (item.Type == 1) ? ' style="color: #ffa449;"' : '';
$('.content').append('<div class="post"><div class="post-text"> ' + item.MessageText + ' </div><div class="post-action"><input type="button" value="Like" id="like_' + item.ID + '_' + item.UserID + '" class="like" ' + mycss + ' /><span id="likes_' + item.ID + '_' + item.UserID + '">' + item.cntLikes + '</span></div></div>');
});
});
}
});
});
});
前导正斜杠的意思是“从文档根开始”,index.php就在这里。所以/search/search.php应该是正确的。如果服务器找不到该文件,那么肯定会发生url重写
您只需将浏览器指向http://localhost:8000/search/search.php. 如果你得到一个404,你知道它与ajax无关试试这个search/search.php,看看这个答案@Dilek谢谢。当我进行建议更改时,不会发生任何错误。前导正斜杠只是指从index.php所在的文档根开始。所以/search/search.php应该是正确的。如果服务器找不到该文件,那么肯定会发生url重写。如果您使用的是apache,这可能发生在虚拟主机配置文件中,也可能发生在文档根目录中的.htaccess文件中;圆点使其成为隐藏文件。您只需将浏览器指向http://localhost:8000/search/search.php. 如果你得到一个404,你知道它与ajax无关。顺便说一句,当你删掉了关于得到404错误的部分时,你去掉了关于发生了什么的最重要的线索…我的荣幸。此时您可能会考虑到URL重写,它可以通过索引XP.php路由所有或某些请求。这减少了相对url的混乱,还允许您将所有代码放在路径中没有文档根的目录中。这不是本文的主题,但很值得一看。