Jquery IE8中的Django AJAX表单问题
我将按照代码片段在Django中实现一个AJAX表单。但是,当我单击“提交”时,IE8会提示我下载javascript响应,而不是在页面上显示它 我可能做错了什么(在FF/Chrome中工作正常!) 一些片段 视图: HTML:Jquery IE8中的Django AJAX表单问题,jquery,ajax,django,Jquery,Ajax,Django,我将按照代码片段在Django中实现一个AJAX表单。但是,当我单击“提交”时,IE8会提示我下载javascript响应,而不是在页面上显示它 我可能做错了什么(在FF/Chrome中工作正常!) 一些片段 视图: HTML: {%csrf_令牌%} 输入您的电子邮件地址。。。 {{form.email} 提交 jQuery(文档).ready(函数(){ 变量选项={ 目标:“#基本模式内容”,//要使用服务器响应更新的目标元素 beforeSubmit:showRequest,//预提交
{%csrf_令牌%}
输入您的电子邮件地址。。。
{{form.email}
提交
jQuery(文档).ready(函数(){
变量选项={
目标:“#基本模式内容”,//要使用服务器响应更新的目标元素
beforeSubmit:showRequest,//预提交回调
成功:showResponse,//提交后回调
//其他可用选项:
url:“{%url订阅“xhr”%}”,//重写窗体的“action”属性
//type:type/'get'或'post',重写窗体的'method'属性
数据类型:“json”、“xml”、“脚本”或“json”(预期的服务器响应类型)
//clearForm:true//成功提交后清除所有表单字段
//resetForm:true//成功提交后重置表单
//$.ajax选项也可以在此处使用,例如:
//超时:3000
};
//$(“#email_字段”).focus(email_focus).blur(email_blur);
//$('subscribe_form').bind('submit',subscribe_submit');
//绑定到表单的提交事件
$('订阅表格').ajaxForm(选项);
});
从此行更改您的mimetype
return HttpResponse(json, mimetype='application/javascript')
到“text/javascript”。或者,您也可以在服务器的配置中设置显示“应用程序/javascript”文件的内容,而不是下载它
<form enctype="multipart/form-data" action="{% url subscribe None %}" method="POST" id="subscribe_form">
{% csrf_token %}
<label for="id_email" class="inline infield" style="position: absolute; left: 0px; top: 0px; ">Enter your email address...</label>
{{ form.email }}
<button type="submit" id="subscribe_button">Submit</button>
</form>
<script type="text/javascript">
jQuery(document).ready(function() {
var options = {
target: '#basic-modal-content', // target element(s) to be updated with server response
beforeSubmit: showRequest, // pre-submit callback
success: showResponse, // post-submit callback
// other available options:
url: '{% url subscribe "xhr" %}', // override for form's 'action' attribute
//type: type // 'get' or 'post', override for form's 'method' attribute
dataType: 'json', // 'xml', 'script', or 'json' (expected server response type)
//clearForm: true // clear all form fields after successful submit
//resetForm: true // reset the form after successful submit
// $.ajax options can be used here too, for example:
//timeout: 3000
};
//$('#email_field').focus(email_focus).blur(email_blur);
//$('#subscribe_form').bind('submit', subscribe_submit);
// bind to the form's submit event
$('#subscribe_form').ajaxForm(options);
});
return HttpResponse(json, mimetype='application/javascript')