Javascript 对不同的页面和div使用一个ajax调用?

Javascript 对不同的页面和div使用一个ajax调用?,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用以下代码进行ajax调用,以更改主页中div的内容,而无需重新加载页面: function ajaxcall() { $.ajax({ type: "POST", url: "/create.php", success: function( returnedData ) { $( '#container' ).html( returnedData ); } }); } 我这样称呼它:

我使用以下代码进行ajax调用,以更改主页中div的内容,而无需重新加载页面:

function ajaxcall()
{
    $.ajax({
        type: "POST",
        url: "/create.php",
        success: function( returnedData ) {
            $( '#container' ).html( returnedData );
        }
    });
} 
我这样称呼它:

 <p><a  onclick="ajaxcall()" >Create</a></p>
同样,我在同一页面中有两个不同的表单,它们需要相同的东西,我的意思是我应该用另一个div“container-1”对第二个表单做相同的事情,然后我在create.html中有两个div用于exmaple:

 <div id="container">
     ....
 </div>

 <div id="container-1">
     ....
 </div>
create.html:

 <div id="container">
     ....
 </div>

 <div id="container-1">
     ....
 </div>

如果我理解正确,您希望为ajax调用函数提供一个参数,将“/create.php”中的返回内容应用于不同的div

function ajaxcall(id, path)
{
    $.ajax({
        type: "POST",
        url: path,
        success: function( returnedData ) {
            $("#"+id).html( returnedData );
        }
    });
} 
在html中,您可以将id设置为

 <p><a  onclick="ajaxcall(this.id, "/create.php")" >Create</a></p>
创建


如果我理解正确,您希望为ajax调用函数提供一个参数,将“/create.php”的返回内容应用于不同的div

function ajaxcall(id, path)
{
    $.ajax({
        type: "POST",
        url: path,
        success: function( returnedData ) {
            $("#"+id).html( returnedData );
        }
    });
} 
在html中,您可以将id设置为

 <p><a  onclick="ajaxcall(this.id, "/create.php")" >Create</a></p>
创建


如果我理解正确,您希望为ajax调用函数提供一个参数,将“/create.php”的返回内容应用于不同的div

function ajaxcall(id, path)
{
    $.ajax({
        type: "POST",
        url: path,
        success: function( returnedData ) {
            $("#"+id).html( returnedData );
        }
    });
} 
在html中,您可以将id设置为

 <p><a  onclick="ajaxcall(this.id, "/create.php")" >Create</a></p>
创建


如果我理解正确,您希望为ajax调用函数提供一个参数,将“/create.php”的返回内容应用于不同的div

function ajaxcall(id, path)
{
    $.ajax({
        type: "POST",
        url: path,
        success: function( returnedData ) {
            $("#"+id).html( returnedData );
        }
    });
} 
在html中,您可以将id设置为

 <p><a  onclick="ajaxcall(this.id, "/create.php")" >Create</a></p>
创建


您可以将这些作为参数添加到函数中,如下所示

function ajaxcall(url, data, targetDivId)
{
    $.ajax({
        type: "POST",
        url: url,
        data : data,
        success: function( returnedData ) {
            $("#"+targetDivId).html( returnedData );
        }
    });
} 
对于您的场景:

我假设即使是AJAX url也可能会改变,因为它当前指向
create.php
。如果它是相同的,那么您可以避免tht参数

 <p><a  onclick="ajaxcall('/create.php', {} , 'container-1')" >Create</a></p>

 <p><a  onclick="ajaxcall('/update.php', object2 , 'container-2')" >update</a></p>

 <p><a  onclick="ajaxcall('/delete.php', object3, 'container-3')" >Delete</a></p>
创建

更新

删除


您可以将这些作为参数添加到函数中,如下所示

function ajaxcall(url, data, targetDivId)
{
    $.ajax({
        type: "POST",
        url: url,
        data : data,
        success: function( returnedData ) {
            $("#"+targetDivId).html( returnedData );
        }
    });
} 
对于您的场景:

我假设即使是AJAX url也可能会改变,因为它当前指向
create.php
。如果它是相同的,那么您可以避免tht参数

 <p><a  onclick="ajaxcall('/create.php', {} , 'container-1')" >Create</a></p>

 <p><a  onclick="ajaxcall('/update.php', object2 , 'container-2')" >update</a></p>

 <p><a  onclick="ajaxcall('/delete.php', object3, 'container-3')" >Delete</a></p>
创建

更新

删除


您可以将这些作为参数添加到函数中,如下所示

function ajaxcall(url, data, targetDivId)
{
    $.ajax({
        type: "POST",
        url: url,
        data : data,
        success: function( returnedData ) {
            $("#"+targetDivId).html( returnedData );
        }
    });
} 
对于您的场景:

我假设即使是AJAX url也可能会改变,因为它当前指向
create.php
。如果它是相同的,那么您可以避免tht参数

 <p><a  onclick="ajaxcall('/create.php', {} , 'container-1')" >Create</a></p>

 <p><a  onclick="ajaxcall('/update.php', object2 , 'container-2')" >update</a></p>

 <p><a  onclick="ajaxcall('/delete.php', object3, 'container-3')" >Delete</a></p>
创建

更新

删除


您可以将这些作为参数添加到函数中,如下所示

function ajaxcall(url, data, targetDivId)
{
    $.ajax({
        type: "POST",
        url: url,
        data : data,
        success: function( returnedData ) {
            $("#"+targetDivId).html( returnedData );
        }
    });
} 
对于您的场景:

我假设即使是AJAX url也可能会改变,因为它当前指向
create.php
。如果它是相同的,那么您可以避免tht参数

 <p><a  onclick="ajaxcall('/create.php', {} , 'container-1')" >Create</a></p>

 <p><a  onclick="ajaxcall('/update.php', object2 , 'container-2')" >update</a></p>

 <p><a  onclick="ajaxcall('/delete.php', object3, 'container-3')" >Delete</a></p>
创建

更新

删除


遵循mohamedrias的回答,如果您还需要以不同的方式处理CRUD用例中的每个备用路径,您可以使用全局事件处理程序

发出请求时不处理:

$.ajax({
    type: "POST",
    url: url,
    data : data,
    success: function( returnedData ) {
    }
});
对CRUD中的每个备用路径进行单独处理

$(document).ajaxSuccess(function(event, xhr, settings) {
        var query = settings.data;
        var url = settings.url;
    if (url.match(/create.php/) && query.match(/container1/)){
           $("#container1").find(".form-1").html( xhr.responseText );
    }
});
您还应该注意到,我的示例中的选择器暗示“form-1”是一个类而不是ID。 ID必须是唯一的,但类可以出现多次。

按照这条规则,如果您想为每个备用路径重用相同的表单,您可以通过为每个元素使用唯一的类名来寻址表单中的离散元素来实现。容器Div必须具有唯一的ID(正如您已经做的那样)。但是您必须通过链接选择器来提供该元素上下文,首先使用ID选择div,然后使用class选择元素。

在mohamedrias的回答之后,如果您还需要以不同的方式处理CRUD用例中的每个备用路径,您可以使用全局事件处理程序

发出请求时不处理:

$.ajax({
    type: "POST",
    url: url,
    data : data,
    success: function( returnedData ) {
    }
});
对CRUD中的每个备用路径进行单独处理

$(document).ajaxSuccess(function(event, xhr, settings) {
        var query = settings.data;
        var url = settings.url;
    if (url.match(/create.php/) && query.match(/container1/)){
           $("#container1").find(".form-1").html( xhr.responseText );
    }
});
您还应该注意到,我的示例中的选择器暗示“form-1”是一个类而不是ID。 ID必须是唯一的,但类可以出现多次。

按照这条规则,如果您想为每个备用路径重用相同的表单,您可以通过为每个元素使用唯一的类名来寻址表单中的离散元素来实现。容器Div必须具有唯一的ID(正如您已经做的那样)。但是您必须通过链接选择器来提供该元素上下文,首先使用ID选择div,然后使用class选择元素。

在mohamedrias的回答之后,如果您还需要以不同的方式处理CRUD用例中的每个备用路径,您可以使用全局事件处理程序

发出请求时不处理:

$.ajax({
    type: "POST",
    url: url,
    data : data,
    success: function( returnedData ) {
    }
});
对CRUD中的每个备用路径进行单独处理

$(document).ajaxSuccess(function(event, xhr, settings) {
        var query = settings.data;
        var url = settings.url;
    if (url.match(/create.php/) && query.match(/container1/)){
           $("#container1").find(".form-1").html( xhr.responseText );
    }
});
您还应该注意到,我的示例中的选择器暗示“form-1”是一个类而不是ID。 ID必须是唯一的,但类可以出现多次。

按照这条规则,如果您想为每个备用路径重用相同的表单,您可以通过为每个元素使用唯一的类名来寻址表单中的离散元素来实现。容器Div必须具有唯一的ID(正如您已经做的那样)。但是您必须通过链接选择器来提供该元素上下文,首先使用ID选择div,然后使用class选择元素。

在mohamedrias的回答之后,如果您还需要以不同的方式处理CRUD用例中的每个备用路径,您可以使用全局事件处理程序

发出请求时不处理:

$.ajax({
    type: "POST",
    url: url,
    data : data,
    success: function( returnedData ) {
    }
});
对CRUD中的每个备用路径进行单独处理

$(document).ajaxSuccess(function(event, xhr, settings) {
        var query = settings.data;
        var url = settings.url;
    if (url.match(/create.php/) && query.match(/container1/)){
           $("#container1").find(".form-1").html( xhr.responseText );
    }
});
您还应该注意到,我的示例中的选择器暗示“form-1”是一个类而不是ID。 ID必须是唯一的,但类可以出现多次。

按照这条规则,如果您想为每个备用路径重用相同的表单,您可以通过为每个元素使用唯一的类名来寻址表单中的离散元素来实现。容器Div必须具有唯一的ID(正如您已经做的那样)。但是您必须通过链接选择器来提供该元素上下文,首先使用ID选择div,然后使用class选择元素。

我们谈论的是div,然后突然切换到表单。只需点击一下