jquery - Django Ajax Jquery 调用

标签 jquery python ajax django

这可能是基本的,但我花了两天时间,阅读了无数教程,但我仍然无法让它工作。简单地说,我试图完成一项基本任务,只是为了看看它是否有效。我想向我的捐赠 View 发送一个 ajax 调用。我看到它成功通过,但我期望我的模板也会更新为“TRUE”,但它仍然是“FALSE”。我感谢任何帮助或建议。

我的 jquery...

$.ajax({
    type: "POST",
    url:"/donate/",
    data: {
    'test': 'success',
    },
    success: function(){
      alert('test')
     },
    error: function(){
        alert("Error");
});

这是我的看法...

def donate(request):
    if request.is_ajax():
        test = "TRUE"

    if request.method == 'POST':
        form = DonateForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = DonateForm()
        test = "FALSE"

    return render_to_response('donate_form.html', {'form':form,'test':test}, context_instance=RequestContext(request))

我的模板包括这个...

<h1>{{ test }}</h1>

更新/解决方案

就像在这个问题的评论中提到的,我没有对返回的数据做任何事情。我将我的成功调用更新为以下并且有效

    $.ajax({
    type: "POST",
    url:"/donate/",
    data: {
    'zip': zip,
    },
    success: function(data){            

        results = $(data).find('#results').html()               
        $("#id_date").replaceWith("<span>" + results + "</span >");

    },
    error: function(){
        alert("Error");
    },

最佳答案

我认为问题在于您传递数据的位置。你使用 Firebug 吗?一个用于检查您是否在 POST 中传递任何内容的优秀工具,它是一般 Web 开发的优秀工具。

这是一个从表单发送 Ajax 调用的工作示例

$("#form").submit(function(event) {
        var $form = $(this),
        $inputs = $form.find("input, select, button, textarea"),
        serializedData = $form.serialize();

        $.ajax({
            url: "/donate/",
            type: "post",
            data: serializeData,
            success: function(response) {
                alert(response)
            }
        })
        event.preventDefault();
    });

然后你的 View 看起来像这样

if request.is_ajax() or request.method == 'POST':
        form = DonateForm(data=request.POST)
        if form.is_valid():
            return HttpResponse("Success")
        else:
            return HttpResponse("Fail")

顺便说一句,除非你真的需要 $.ajax() 的所有额外功能,否则我建议你使用 $.post() 因为它看起来更直接使用。

关于jquery - Django Ajax Jquery 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10369667/

相关文章:

javascript - 当我尝试从 JavaScript 数组中删除 JSON 对象时收到错误消息

javascript - 如何使用 JQuery 设置 Href 值

jquery - 在 JQuery 中通过添加行/克隆来增加类

python - 交换原始文件的颜色 channel (BGGR -> RGGB)

python - random.randint 和 randrange 有什么区别?

javascript - 当元素滚动到 View 中时加载内容

javascript - 未捕获的引用错误 : Unexpected Token }

python - 查找低于/高于阈值的第一个值的索引

php - 可更改的自定义 JSON Ajax 循环

java - 在 JQuery 中使用 ajax 方法 .get() 和 .post() 来添加到购物车