【发布时间】:2014-01-05 03:31:17
【问题描述】:
我已经用尽了我的大脑试图让一些简单的工作。我想用 django 将表单的行为从重新加载后更改为 ajax。我就是无法让它工作。
表格是这样的:
<form id="form1" action="/myurl/" method="post" onsubmit="doexchange">
<input id="input1" type="hidden" name="serializedData" value=""/>
<button id="button1" type="submit">render<button/>
</form>
使用 jquery,我有类似的东西:
function doexchange(){
var dataBuffer = new Object();
dataBuffer = myCollecter(dataBuffer);
$("#input1").attr("value", JSON.stringify(dataBuffer));
$.get($("#form1").attr("action"),
{serializedData: $("#input1").attr("value")},
function(data){
alert('yes' + data);
});
return false;
}
现在返回 false 是为了防止原始表单自己进行 POST。
在服务器端,我有一些非常简单的东西,例如:
def handler(request, data):
return HttpResponse('{}', 'application/json')
客户端通过ajax请求成功将数据发送到服务器。服务器还将 {} 空括号返回给客户端。但不是回调函数被调用、查看和提醒,而是整个页面重新加载,我在新页面上只看到 {}。
正如我所说,我尝试了很多不同的东西,但我认为我错过了一些重要的东西......有什么想法吗?哦,我正在使用最新的 Mozilla firefox,但我认为这不是特定于浏览器的问题...
【问题讨论】:
标签: javascript jquery ajax django