如何动态更改AJAX网址?

时间:2015-12-02 07:32:22

标签: javascript jquery ajax url

function updateChatroom() {
    $.ajax({
        url:'../inc/chatroom_update.php',
        type:'POST',
        success:function(response)
        {
            $("#chatUpdate").html(response);
        }
    });
}

我上面有这个ajax,它放在header.php下的include文件中。现在我的header.php包含在我的所有网站页面中,这意味着我的ajax中的url需要更改,因为我的网页可能位于不同的文件夹中。如何使AJAX网址动态化?

在PHP术语中,如果我想在我的header.php文件链接上建立动态链接。我会设置一个BASE_URL然后放入文件所在的位置。我如何从PHP到AJAX执行此操作?提前谢谢!

4 个答案:

答案 0 :(得分:1)

为什么你不这样做?

function updateChatroom(url) {
    $.ajax({
        url:url,
        type:'POST',
        success:function(response)
        {
            $("#chatUpdate").html(response);
        }
    });
}

现在您可以使用任何url来调用它。

答案 1 :(得分:1)

使用动态页面名称:

function updateChatroom(){

var url="<?php  echo basename($_SERVER['PHP_SELF']); ?>";
$.ajax({
       url:'../inc/'+url,
       type:'POST',
       success:function(response)
       {
       $("#chatUpdate").html(response);
       }
       });

}

答案 2 :(得分:0)

为什么不注入网址&amp;将数据作为参数发布。

.property

答案 3 :(得分:0)

如果此函数放在 php 文件中,您可以使用类似于下面的代码来根据请求此页面的位置构建URL:

<%
   $url = $_SERVER['REQUEST_URI']; //returns the current URL
   $parts = explode('/',$url);
   $dir = $_SERVER['SERVER_NAME'];

   for ($i = 0; $i < count($parts) - 1; $i++) {
    $dir .= $parts[$i] . "/";
  }
%>
function updateChatroom() {
    $.ajax({
        url: $dir . '../inc/chatroom_update.php',
        type:'POST',
        success:function(response)
        {
            $("#chatUpdate").html(response);
        }
    });
}