【问题标题】:ajax submit request with pretty URL带有漂亮 URL 的 ajax 提交请求
【发布时间】:2014-03-23 14:28:30
【问题描述】:

我正在构建我的第一个“漂亮 url”网站,但是当我尝试运行任何 AJAX 请求函数时,它们没有被传递到正确的文件 (submit.php)

我有 1 个文件包含所有 AJAX 请求 (http://mdloring.com/ezleague/submit.php):

function joinLeague(guild, league) {
    $.ajax({
         type: "POST",
         url: "submit.php",
         data: "form=joinLeague&guild=" + guild + "&league=" + league
       }).success(function( msg ) {
           $('.login_success').css("display", "");
              $(".login_success").fadeIn(1000, "linear");
              $('.login_success_text').fadeIn("slow");
              $('.login_success_text').html(msg);
              //setTimeout(function(){location.reload()},3000);
      });
}

在我的一个“漂亮 url”页面 (http://mdloring.com/ezleague/game/counter-strike) 上,我有一个触发上述功能的按钮,但它尝试将请求传递给的 URL 是:http://mdloring.com/ezleague/game/counter-strike/submit.php,而不是 http://mdloring.com/ezleague/submit.php

我真的迷失了这个。非常感谢您的帮助。

【问题讨论】:

    标签: javascript php jquery ajax pretty-urls


    【解决方案1】:

    这是由于相对 URL 模式。尝试使用绝对 URL 模式

    url: "http://mdloring.com/ezleague/submit.php" 在 AJAX 调用中

    【讨论】:

    • 谢谢 raghav,修复了它。因为我的 JS 文件在我的根目录中,所以我认为 'url' 参数会被取消。
    • 接受了 raghav 的回复,提到“绝对 url”与“相对 url”
    【解决方案2】:

    您可以为您的网址使用绝对路径,例如

    url : "/ezleague/submit.php"
    

    不要使用服务器名称,因此您的脚本可以移植到其他域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 2014-09-24
      • 2013-07-09
      • 2018-04-06
      • 2012-05-07
      • 2013-08-30
      • 2019-02-08
      • 2017-04-16
      相关资源
      最近更新 更多