2009-01-26 53 views
-1

我有一个JQuery客户端,这个JS调用一个页面(GET HTTP)并设置超时。超时的目的是:“如果服务器没有响应,请做些事情”。 如果我使用Apache Web服务器来管理页面,则会执行超时。如果我使用IIS 6.0,超时将被“跳过”,并且页面尝试(无论如何)服务器响应。 这是脚本:JQuery超时不执行

//客户端

$.ajax({ 
    type: "GET", 
    url: "some.php", 
    data: "name=John&location=Boston", 
    timeout: 5000 
    success: function(msg){ 
     alert("Data Saved: " + msg); 
    }, 
    error: function(request, errorType, errorThrown){ 
     alert("opppsssss .... "); 
    } 
}); 

我想这是一个IIS..is是正确的?或者我在JQuery代码中犯了错误?

最好regerds

多梅尼科

+0

你错过了,超时 – 2009-01-26 17:26:04

+0

-1后使用堆栈溢出以查找语法错误。 – Bombe 2010-10-21 19:21:27

回答

1

正如保罗在评论中提到,你错过的超时声明之后逗号。我最近有一种情况,像这样的对象声明中的缺失逗号会导致IE扼杀脚本并且不能正确运行(当firefox运行它时没有问题)。

那将不能解释为什么不同的服务器会导致不同的行为,但它很可能是值得一修复,首先和重新测试,为的行为可能会发生变化,可能会更容易调试。

+0

我第二本 - 我见过几次火狐慷慨解释以这种方式,其中IE会呛缺少逗号声明JavaScript对象。不管这是否导致他担心的问题,这是一个问题。 – Clyde 2009-01-27 02:47:53

0

感谢您回应,我完成了这个问题:)

服务器代码:

//后端some.php

<?

//模拟长时间任务

sleep(10); //睡眠10秒

//发送响应

回声 “一些测试数据”;

? >

对不起,逗号错误是我的切口&粘贴错误..

的问题,这是在超时结束,错误对话框不会出现,因为从服务器的连接不被中断超时,所以但服务器(缓慢)响应。

有你的想法,因为服务器的连接不会中断?