这几天遇到几个关于IE的问题,找不到原因,让人崩溃啊,提出来看看大家能否帮忙解决。
1、ajax的异步请求没有响应(火狐能够响应)。
在页面中如果单击一个按钮,就在js中发送请求给服务器(使用jquery的post方法),服务器的result类型是json,代码没有任何问题,在ie中单击按钮没有任何反应,后来我调试了一下,在action的return "success"语句后一直执行一个方法,无法返回到页面;而我在浏览器端调试js的时候,也是一直在jquery的一个语句上循环,不知道是什么原因;在火狐上可以正确返回结果,但是中文乱码(明明所有的地方都设置为了utf-8,可以使用工具查看的时候出现的是gbk,很奇怪);
js的代码如下:没有任何反应
$.post( $("#printLoanDueBillActionUrl").text(), {"loanDueBill.id":$("#loanDueBill_id").val(),"printType":"tblInvoice"}, function (data){ alert("%%%%"); alert(data.borrowerName); if(CheckLodop()){ myPrintView(); } },"json");
配置文件代码:content是一个JSONObject对象
<result name="tblInvoice" type="json"> <param name="jsonObject">content</param> </result>
2、IE提示拒绝访问JS
主要原因可能是因为我的页面时两个域, 当我在一个域访问另一个域的内容的时候就会提示
提示出错的代码如下:
var prtDate = $(window.parent.document).find('#prtDate').text();
该页面是在另一个 http://localhost:8080/xx/的iframe里面
以上两个问题让我非常的头疼,可是完全不知道该怎么解决,好像是我自己电脑的问题,因为用我的代码在别人的电脑上能够正确的执行(代码复制过去能运行,直接访问我的则不行),我的系统是win7的,ie8,别人的也是。可是如果直接在别的电脑上访问我的项目也会出错。
请知道的帮个忙,多谢了!
你用的是sturts2?,你将你的action代码贴出来看下
額,不好意思,這兩天沒上javaeye,這裡我也沒怎麼看,我就說下我的想法吧,
就是我不是很明白你的action怎麼處理的。我發個我一般寫json的ajax處理方法吧,strut2中
[code="java"]
response.setContentType("text/html,charset=UTF-8");
response.setCharacterEncoding("UTF-8");
//這裡設置下編碼
//業務處理...
PageBean pb=new PageBean();
JSONObject json=JSONObject.fromObject(pb);//創建json
//注意咯,我一般是這樣返回的,不用return 什麼了
response.getWriter().write(json.toString());
//action配置的時候也不需要返回頁面了,action 為void類型,如果不習慣,是String的話,那就返回null.這樣基本沒亂碼,也沒碰到瀏覽器沒反映了,希望能幫忙···
[/code]