一个关于Jquery Ajax和ashx(IE,FirFox,Google)的小问题

来源:互联网 发布:多核软件如何运行 编辑:程序博客网 时间:2024/04/27 18:33

======================================================
注:本文源代码点此下载
======================================================

最近在做一个项目,js方面用jquery和josn相结合用的比较多,特别是jquery的ajax,但是今天我突然遇到一个诡异的问题。

一、配置服务器端。

新建一个application的project,添加一个ashx的文件,打算用这个ashx文件作为jquery的ajax的异步相应,在webconfig的httphandler中也配置好了。到这里服务器端的东西都已经搞好了,当然ashx里面的逻辑代码也写了一个测试function了。

二、web前台的调用

在web页面中引用jquery的相关文件,添加一个input(button)同时添加上一个onclick的异步function(使用jquery的

$.ajax({

type: "post",

url: url,

data: data,

datatype: "json",

success: cb,

error: function(xmlhttprequest, textstatus, errorthrown) {

alert("url:" + url + " error:" + errorthrown);

}

});)。

到这里,一起都准备好了。

三、测试

一下三种浏览器的测试我都是在application的project那里直接ctrl+f5的,生成的url是iis自动分配的端口号。

ie:我在ie中点击button触发异步的function,第一次有返回,第二次没有,第三次没有,........奇怪了??有时候有返回有时候没有,怎么会这样的呢?nnd技术上的东西有时候就像1+1=2那样得就得唔得就返顺德那种的哦。

1. ok,那我就调试进去吧,有奇怪了,每次button触发异步的function在服务上都有接收到啊,而且代码执行的逻辑都没有问题哦。

2. ok,那我看看jqeury的errorfunction有返回什么信息吧,发现没有,只是提示说throw了一个ex而已。

3. ok,那行,我就用httpwatch偷看一下从异步触发到返回的这个过程吧,发现有成功信息返回时没有什么问题(当然是偶尔成功的),发现有异常返回时返回的是error_internet_connection_aborted(the connection with the server has been terminated)。发诡异了为什么请求会terminated的呢?不知道。

4. 先不理会ie先。

firfox:完全没有问题,每次的请求都有成功的返回。????为什么ie有时候行有时候不行呢?

google:完全没有问题,每次的请求都有成功的返回。????为什么ie有时候行有时候不行呢?

测试到这里,我更晕了,为什么ie有时候行有时候不行呢?我还是不知道问题出现在哪里。

好了,我在想,怎么我之前做的一个项目中不是这样的呢?然后我对比了一下所有的相关配置,发现都是一样的呀,除了一个为,就是行的那个project是一个website的project,而现在这个是一个application的project。ok,那我就为这个application的project创建一个virtualpath吧,进行测试后发现在ie,firfox和google上都完全没有问题,之前ie不行ie都可以了哦。那究竟为什么会出现这样的问题呢?我google一下没有找到问题的所在。

呵呵,小弟不才,请教各位大侠,究竟是什么原因造成这样的呢?


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击