iis无法启用ajax,jQuery/AJAX正在处理IIS5.1但不处理IIS6

我在这里运行一个奇怪的问题。我有让jquery ajax调用Web服务并使用jquery动态添加控件的代码。一切工作正常我的开发机器运行IIS 5.1,但不是部署到IIS 6时。我使用VS2010/ASP.Net 4.0,C#,jQuery 1.4.2和jQuery UI 1.8.1。我为每个使用相同的浏览器。jQuery/AJAX正在处理IIS5.1但不处理IIS6

它部分虽然工作。代码会将控件添加到页面,但直到点击它们才会显示(尽管它们不可见)。我认为这是一个CSS问题,但风格也在那里。

Ajax调用是这样的:

$.ajax({

url: "/WebServices/AssetManager.asmx/Assets",

type: "POST",

datatype: "json",

async: false,

data: "{'q':'" + req.term + "', 'type':'Condition'}",

contentType: "application/json; charset=utf-8",

success: function (data)

{

res($.map(data.d, function (item)

{

return {

label: item.Name,

value: item.Name,

id: item.Id,

datatype: item.DataType

}

}))

}

})

更改内容类型,使自动完成失败。我检查了四次,所有的路径都是正确的,在IIS中没有启用文档页脚,并且我没有使用IIS压缩。

任何想法为什么页面将显示并在IIS 5中正常工作,但只能部分在IIS 6中? (如果它完全失败了,那会更有意义!)。这是一个jQuery或CSS的问题?我使用“contentType:”application/json;“charset = utf-8”我复制了一个应用程序/ javascript的测试调用。

@Gaby:我很清楚服务器与CSS或JavaScript无关的事实,但是,这是代码之间的唯一区别,它不能工作。

我的本地开发机器(IIS 5)和服务器(iis 6)之间的所有jquery/css文件都是相同的。

@jaymz:我会给小提琴尝试看看是否有区别。我正在使用IE8,但它不会进入兼容模式。

解决方案:(Compatbility Mode!) 在检查Fiddler中的所有内容并找不到任何区别后,我在Firefox中尝试了它,它在哪里运行。让我思考,果然,我错了,IE浏览器正在进入兼容模式。显然默认情况下,它将在Intranet上使用兼容模式,但不使用localhost(恰好是IIS的不同版本)。我试过IE7并得到了同样的东西。我需要更改我的代码以确保它可以在IE7上运行。

2010-06-07

Mikejh99

+0

CSS与服务器技术无关..只有浏览器支持。 JavaScript也与服务器无关,只处理浏览器..你使用任何URL重写过滤器?并确保CSS和JS都被传递到浏览器! –

2010-06-07 21:42:30

+0

您是否尝试过使用萤火虫检查服务器每次返回的内容?我想这应该是一个字符编码问题;你正在指示服务器使用utf-8,也许你没有正确的设置你的IIS6来正确处理utf-8,它不是理解通过'post'接收到的输入,或者不能正确地发送编码为utf的结果-8,你的浏览器不理解它收到的内容。 –

2010-06-07 21:49:57

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值