当前位置: 首页 > 面试题库 >

Django Ajax jQuery调用

厉坚
2023-03-14
问题内容

这可能是基本的,但是我花了两天时间,阅读了无数教程,但仍然无法正常工作。为简单起见,我尝试完成一项基本任务只是为了看它能起作用。我想向我的捐赠视图发送一个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();
    });

然后您的视图可以看起来像这样

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()改用它,因为它似乎更直接使用。



 类似资料:
  • 问题: 我正在尝试为Wordpress插件注册自定义endpoint。我面临的问题是,当我调用add_action('rest_api_init',回调)时,回调函数没有被调用。在该回调函数中存在“register_rest_route()”方法,而该方法又未被调用,我无法注册任何自定义终结点。 < li >我正在使用docker进行开发 < li >没有抛出任何错误 代码: 问题: 代码到达“v

  • 我有一个包含多个的布局,底部有一个按钮。当键盘显示时,我希望我的布局保持在键盘上方。我搜索这个问题,发现应该在清单的标签中放入

  • 问题内容: 我正在开发一个需要与Video4Linux抽象交互的应用程序。该应用程序使用mono框架以C#开发。 我面临的问题是我无法P /调用系统调用。或者,更准确地说,我可以P /调用它,但是它崩溃严重。 extern声明如下: 到目前为止,一切都很好。 使用的实际例程如下: 以上所有代码似乎都不错。该类用于按照标头规范计算I / O请求代码(基本上,它遵循处声明的宏)。 该参数是一个结构,声

  • 问题内容: 我一直在努力使AJAX与Jquery一起使用。到目前为止,我最大的问题是我真的不知道如何弄清楚我在哪里犯错。我真的没有调试AJAX调用的好方法。 我正在尝试建立一个管理页面,其中我要执行的功能之一就是更改SQL数据库中设置的权限。我知道.click函数正在被触发,因此我将其范围缩小了,但是我不确定从AJAX调用到SQL查询的链在哪里出了问题。 我的.js代码: 我的.php处理程序:

  • 我们正在尝试开发一个自调用的lambda来成批处理S3文件。lambda角色具有附加调用所需的策略。 以下是自调用lambda的代码: 其中是对同一个lambda的调用调用。其余的事情都按预期工作,只要调用堆栈出现在这个调用请求上,它就会超时: 这是记录到CloudWatch的堆栈跟踪:

  • 给定websocket配置: 和客户端JavaScript: 并从服务器发送此消息: 回调不会被激发。 javascript控制台显示已建立连接: 已连接到STOMP:已连接用户名:jschmoe心跳:0,0版本:1.1订阅ID:sub-0目标:/user/topic/abc 并且tomcat控制台显示: 正在处理订阅目的地=/topic/abc-useryl3ovhr2订阅ID=sub-0会话=

  • 有没有一种方法可以调试一个被调用的方法? 此代码调用

  • 当想知道一个进程在做什么事情的时候,可以通过strace命令跟踪一个进程的所有系统调用。 1、运行 php start.php status 能看到workerman相关进程的信息 如下: Hello admin ---------------------------------------GLOBAL STATUS-----------------------------------------