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

标签 javascript jquery ajax

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

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

我这样调用它:

 <p><a  onclick="ajaxcall()" >Create</a></p>

问题非常复杂,因为我必须在同一个 div 中调用 4 个页面:

create.hmtl ; update.html; delete.html ; read.html 

此外,我在同一页面中有两个不同的表单需要相同的东西,我的意思是我应该使用另一个 div“container-1”对第二个表单执行相同的操作,然后我在创建中有 2 个用于 exmaple 的 div。 html:

创建.html:

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

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

所以我每次都调用create.html,但不同的div用于不同的形式,问题是使用最少的干净代码来完成我上面解释的所有操作?

编辑

为了更多地解释我的问题,我有 4 个选项(创建/更新/删除/读取),共 4 个页面,每个页面都有 2 个 div 和 2 个表单的 2 个内容,我应该更改每个选项的 div 内容( CRUD)适用于网页中的每个表单!

form -> ajax call content -> create.html -> div:container
form-1 -> ajax call content -> create.html -> div:container-1
form-1 -> ajax call content -> update.html -> div:container-1

最佳答案

您可以将它们作为参数添加到函数中并使其如下所示

function ajaxcall(url, data, targetDivId)
{
    $.ajax({
        type: "POST",
        url: url,
        data : data,
        success: function( returnedData ) {
            $("#"+targetDivId).html( returnedData );
        }
    });
} 

对于您的场景:

我认为即使 AJAX url 也可能会发生变化,因为当前它指向 create.php。如果相同,那么您可以避免使用该参数。

 <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>

关于javascript - 对不同的页面和 div 使用一个 ajax 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29729804/

相关文章:

javascript - 排除基于 previousElementSibling 的元素

javascript - 选择特定输入并向其添加事件

javascript - jquery不适用于多个但同一个类

php - Laravel 5 - 具有 CSRF 保护的 AJAX 图像上传

javascript - 从头开始jQuery多文件上传

javascript - 在 Microsoft Edge 上注册服务工作人员时出错

javascript - 使用带有纯 JavaScript 的按钮来回更改文本

jquery - 最后一个 child 到底做了什么?

javascript - jquery 空闲秒数计数器

javascript - AJAX 调用后重新加载 Masonry Grid