Javascript AJAX不使用某些localhost url';但是他和其他人在一起
我有以下jquery文件:Javascript AJAX不使用某些localhost url';但是他和其他人在一起,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有以下jquery文件: $(document).ready(function() { $("#createTeamButton").on( "click", function() { createTeamPage(); }); }); function createTeamPage() { var createTeamSport = $("#newTeamClubDropdown").val(); $.ajax({ url: "creat
$(document).ready(function()
{
$("#createTeamButton").on( "click", function()
{
createTeamPage();
});
});
function createTeamPage()
{
var createTeamSport = $("#newTeamClubDropdown").val();
$.ajax({
url: "createTeam.php",
cache: false,
type: "POST",
data: {createTeamSport: createTeamSport},
dataType: "html",
success: function(html){
window.location.href = "createTeam.php";
},
error: function(result)
{
alert('error');
}
});
}
当我点击createTeamButton
时,我收到一个错误警报,说我的AJAX没有工作。经过一段时间的调试后,我发现这取决于我使用的URL
在其他文件中,我有一个非常类似的jquery文件,但这个文件将数据发送到一个名为editEvents.PHP
的PHP文件。因此,出于测试目的,我认为如果我将代码的URL行更改为:
URL: "editEvents.php",
Ajax是成功的,createTeam.php由于成功处理程序而显示。我不明白的是,为什么createTeam.php不是一个可以发送数据的文件。createTeam.php和editEvents.php都在同一个文件夹中,我知道它就在那里,因为在测试将数据发送到editEvents.php时,createTeam.php成功启动
那么为什么我可以将数据发送到一个PHP文件而不是另一个
高级版谢谢。你能给我看看你的PHP代码吗??可能是你的PHP代码有缺陷。在这里,您的ajax调用是完美的。下面我要提到的一点- 1.检查ajax URL是否与文件位置相同(检查浏览器URL栏) 2.检查PHP代码 3.调试错误函数以更好地理解:
error: function (xhr) {
alert(xhr.responseText);
}
在这种情况下,无法获取自定义错误参数。遵循以下详细信息并转到给定链接以更好地了解您的功能 请求失败时要调用的函数。该函数接收三个参数:jqXHR(在jQuery 1.4.x中,XMLHttpRequest)对象、描述发生的错误类型的字符串和可选的异常对象(如果发生)。第二个参数(除null外)的可能值为“timeout”、“error”、“abort”和“parserror”。当HTTP错误发生时,ErrorSprown将接收HTTP状态的文本部分,例如“未找到”或“内部服务器错误”。从jQuery 1.5开始,错误设置可以接受函数数组。每个函数将依次调用。注意:跨域脚本和跨域JSONP请求不调用此处理程序。这是一个Ajax事件
选中您使用的是相对路径,请包含绝对路径。应该可以工作(url相对于当前页面,而不是.js文件)使用服务器名为其提供完整路径/address@AlonEitan我试了一下,但还是一样。所有文件同时都在同一个文件夹中,所以如果我认为这不重要,那么我是否正确?其他文件也可以在没有绝对路径的情况下工作name@Josh也许您在其他页面上没有id=newTeamClubDropdown的元素?我看你通过了script@AlonEitan这是一个很好的观点,然而,在调试的同时,我也从js文件中删除了ajax调用,并设置了一个文本框,在单击测试时输入下拉列表的值。这成功地工作了,我把这段代码放到了js文件中,出现的警告消息没有显示任何内容。我将查看我的接收PHP文件