我有一张表格:
<form method="post" action="/balda/server.wsgi" id="gameboard" name="gameboard" >
使用提交按钮:
<input type="submit" name="submit" value="Поиск" style="" onmouseover="CheckElements();">
提交按钮应该发送ajax绑定进程:
jQuery(document).ready(function(){
jQuery('#gameboard').submit( function() {
$.ajax({
url : $(this).attr('action'),
type : $(this).attr('method'),
dataType: 'json',
data : $(this).serialize(),
success : function( data ) {
onAjaxSuccess( data );
}
});
return false;
});
});
有接受的功能:
function onAjaxSuccess (result)
所有这些在chrome,ff,opera,safari中运行良好,但它在Internet Explorer 9中无效(其他人未尝试过)
在IE9中,结果变量为空。 我尝试了另一个绑定提交按钮:
$('document').ready(function( result )
{
$('#gameboard').ajaxForm( {
type: "POST",
data : $(this).serialize(),
success: onAjaxSuccess,
dataType: 'json',
error: function(){ alert ( 'Error loading data format.' ); }
});
});
但结果是与IE9相同的ff chrome safari歌剧作品。
请告诉我可能是什么问题。
答案 0 :(得分:4)
问题是IE9在编码cp1251中不理解“JSON”的格式,即使它在响应头中清楚地说明了。在utf-8中翻译JSON响应解决了IE9的问题。
答案 1 :(得分:2)
确保type =“text / javascript”中没有空格,如果在定义脚本类型时有空格,那么IE将不允许你的js工作
<script type="text/javascript">
.......
</script>