【问题标题】:How to make Ajax requests that will be save data?如何发出将保存数据的 Ajax 请求?
【发布时间】:2019-05-01 06:47:35
【问题描述】:

我正在做一个项目,其中包括测试。测试中的问题必须随机出现,并且必须一一显示。完成回答问题后,您按下下一步按钮。然后必须显示其他问题。

我是这样做的

$('btnEnd').click(function() {
            var rates = 
document.getElementsByClassName('button_radio')
            $("input:radio").each(function(){
                var name = $(this).attr("name")
                if($("input:radio[name="+name+"]:checked")){
                    var radioValue = 
                        $("input[name="+name+"]:checked").val()

            $.ajax({
                url: "{% url 'test' id %}",
                data: {
                  'radioValue': radioValue
                },
                success: function (data) {

                }
              });
        }

def Test_view(request,id):
    install = User_table.objects.get(id=id)
    install.checking=True
    install.save()
    random_number =randint(45, 50)
    list_answered={}
    radioValue = request.GET.get('radioValue', None)
    list_answered['random']=radioValue;
 finance=Test.objects.filter(sections=1,data=date.today(),number=random_number);
    return render(request,'finance.html',{'finance':finance,'id':id})

这里的url是函数Test_view

但它不起作用,我不确定它是否保存答案?

【问题讨论】:

  • it doesn't work 是什么意思?您需要检查数据库以查看它是否已保存。
  • 不,它没有保存在数据库中,我不确定它是否保存在 list_answer,因为据我了解 Ajax 就像它再次调用此函数
  • 但是您希望保存什么?您在此处保存的唯一内容是 User_table 对象,您可以在其中将 checking 更新为 True。您根本不会从任何地方保存单选按钮中的数据。

标签: ajax django


【解决方案1】:

您在 Ajax 中传递 url 的方式是错误的,您需要传递硬编码 url。我在项目中做过这种事情。这样做:

$.ajax({type: "GET",
        url: "/olx/deletePhoto",
        data:{
          photo_id:photoId
        },
        success: function(){

        }
        });

像这样获取选中的单选按钮值:

  radioValue = $("input[name='cover-photo']:checked").val();

【讨论】:

  • 怎么每次都保存photo_id?
  • 每次调用ajax。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
相关资源
最近更新 更多