AJAX不使用某些localhost url,但与其他人一起使用

时间:2017-05-01 09:03:51

标签: javascript php jquery ajax

我有以下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文件而不是另一个?

先谢谢你。

2 个答案:

答案 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事件。

选中http://api.jquery.com/jquery.ajax/