gpt4 book ai didi

jquery - Django Ajax Jquery 调用

转载 作者:太空狗 更新时间:2023-10-29 21:22:47 26 4
gpt4 key购买 nike

这可能是基本的,但我花了两天时间,阅读了无数教程,但我仍然无法让它工作。简单地说,我试图完成一项基本任务,只是为了看看它是否有效。我想向我的捐赠 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com