我有以下jquery文件:
$(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文件而不是另一个?
先谢谢你。
答案 0 :(得分:0)
你能告诉我你的PHP代码吗?可能是你的PHP代码有问题。在这里你的ajax电话是完美的。我在下面提到的一点 - 1.检查您的ajax URL是否与文件位置相同(检查浏览器URL栏) 2.检查PHP代码 3.调试错误函数以便更好地理解:
error: function (xhr) {
alert(xhr.responseText);
}
答案 1 :(得分:0)
在这种情况下,您无法获取自定义错误参数。请遵循以下详细信息,并转到给定的链接以更好地了解您的功能。
如果请求失败,将调用的函数。该函数接收三个参数:jqXHR对象(在jQuery 1.4.x中为XMLHttpRequest),一个描述发生错误的类型的字符串,以及一个可选的异常对象(如果发生)。第二个参数(除null外)的可能值为“超时”,“错误”,“中止”和“ parsererror”。发生HTTP错误时,errorThrown会接收HTTP状态的文本部分,例如“未找到”或“内部服务器错误”。从jQuery 1.5开始,错误设置可以接受函数数组。每个函数将依次调用。注意:对于跨域脚本和跨域JSONP请求,不会调用此处理程序。这是一个Ajax事件。