首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ajax POST后返回html

在ajax POST后返回html
EN

Stack Overflow用户
提问于 2018-01-20 17:28:07
回答 1查看 471关注 0票数 0

我使用ajax调用发布表单来创建对象。在我的视图中创建了对象之后,我就使用对象实例来呈现一个模板,footemplate说。

我想要做的是,将页脚模板插入到当前页面中,即包含表单的页中。特别是,我试图将其添加到id=‘结果-容器’的div中。但是,当我返回呈现的模板时,它实际上会自动加载页面。

视图

代码语言:javascript
复制
def object_create(request):
    ....
    return render(request, template, template_context)

阿贾克斯

代码语言:javascript
复制
$('#object-create').on('submit', function(event){
    event.preventDefault();

    var myform = document.getElementById('object-create');
    var fd = new FormData(myform );
    var post_url = $(this).attr('action');

    $.ajax({
        url : post_url,
        data : fd,
        cache: false,
        processData: false,
        contentType: false,
        type : "POST",
        success : function(data) {
            $('#result-container').html(data)
        },
        error : function() {
            alert("error")
        }
    });
});

如何将html返回为只作为文本,而不是实际生成页本身?

编辑:

问题似乎是由我正在使用的弹出结构造成的。也就是说,我提交的表单位于弹出窗口中,我使用AJAX请求填充该弹出。

HTML

代码语言:javascript
复制
<div class='popup-overlay' style='display:none;'></div>
<div class='popup-outer' style='display:none;'>
    <a id='popup-close'>X</a>
    <p>
        <div class='popup-inner'>
        </div>
    </p>
</div>

填充和显示弹出窗口的AJAX/jquery函数

代码语言:javascript
复制
function openpopup(data, url) {
    var data_ = data;
    var url_ = url;
    $.ajax({
        url: url_,
        type: 'GET',
        data: data_,
        success: function(data) {
            $('.popup-inner').html(data);
        }
    });
    $('.popup-overlay').fadeIn('fast');
    $('.popup-outer').show();
};

当我将表单加载到弹出窗口所属的原始页面中时,没有问题,一切都按预期进行。我猜有什么事情会发生(或不会发生)?

代码语言:javascript
复制
$('.popup-inner').html(data);

不过,我不明白这里会出什么问题。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-01-20 17:53:05

也许您应该从模板中删除{%扩展‘%}?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48359066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档