-
- JQuery在非服务器环境下解析XML的折中解决方案[转]
- Weather:晴 西南风3-4级 (6~15)℃
- 2007-11-05
这2个代码在本地硬盘上运行都有问题:
$(document).ready(function() {
$.get("d.xml",function(xml){
alert($('/controls/control', xml).text());
});
});
d.xml
aaaaa
我开始不知道怎么回事,于是去了官方论坛上与Learning JQuery的作者以及Jquery官方开发人员讨论了一下。
他们开始也没有给出解决方案。但是有一个Mike找到了表面原因,那就是:
在本地硬盘上运行不了(非服务器环境下运行都运行不了),放在服务器上运行就可以。
深层次分析不知道为什么。
很感谢这个Mike。
我研究了一会儿,搞定了临时折中的解决方案,分享给大家:
-
Views(5777) | Comments(23) |
In:
网页前端技术
|
(10/31)
今天是万圣节,我却感冒依然加班
[JQuery在非服务器环境下解析XML的折中解决方案[转]]的回复
-
PeriCHR
于
2007-12-19 10:00:48
发表 |
IP:222.66.182.*
好像是因为非服务器环境下,xml的mime默认是设定为纯文本的text/html而不是XML文档的text/xml...
比如在$.ajax中强行指定dataType为xml的时候,返回error()而不是success()……
-
柠檬园主
于
2007-12-20 14:23:20
发表 |
IP:116.3.6.*
嗯,至少是知道原因了,而不至於搗鼓幾天而鬱悶得不行,就像跨域問題一樣。呵呵。
-
littlenew
于
2008-02-03 14:03:04
发表 |
IP:116.25.187.*
我刚学完load函数,于是想去试一下,试验结果:一堆的乱码,真是郁闷!
一想起用utf-8编码就郁闷。
问题1:被load的文件是不是不能包含其它文件。比如:<!--#include file="../../test.asp"-->
问题2:utf-8与gb2312编码在access中存储方式有什么不同。(先说明一点,我一直用的是gb2312编码。被load的文件是用utf-8编码的,如果这个动态文件的内容不是从数据库中取出来的,而是一个静态的内容,这里不会出现乱码,如果是从数据库中取数据的话,就出现了乱码,比如说: <%=rs("ClassName")%>。为啥?)
- 4# 柠檬园主 于 2008-02-03 22:06:23 发表 | IP:116.3.12.*
回答1:jQ的load是浏览器端动作,load服务器端生成的html,跟你的include无关,不管你include没有,只要load的页面能正常生成html就可以了.
回答2:在数据库中(不管是AC还是SQL),数据默认都是以utf-8编码存储的.要用ajax的话,必须保证取到的数据和当前页的编码一致,否则就会乱码.如果你确定两个页面的编码不同,除了你把两个改成一样的外,也可以用一个函数把生成的结果转化一下.网上搜一下就找到了.
- 5# littlenew 于 2008-02-04 15:06:42 发表 | IP:116.30.172.*
- 6# 柠檬园主 于 2008-02-04 20:57:20 发表 | IP:116.3.12.*
呃。。。你光给这些我也没法试呀。我这个站现在用的就是1.2.2版的JQ,有JS错误就找一下是哪儿错呀。
乱码的问题,肯定还是跟两个文件的编码不一样导致的。另外,在用UTF-8的时候,即使文件另存的编码设置为UTF-8外,也得在ASP里面设置输出编码为UTF-8。
<%@ Language="VBScript" CodePage=65001%>
<%
Option Explicit '变量声明
Response.Charset = "UTF-8" 'Response unicode
- 7# littlenew 于 2008-02-05 19:55:42 发表 | IP:116.30.175.*
OK,OK,OK,是我没有把问题说清楚。乱码问题已经 解决 。
文件是这样的:
6230.html(静态页面):
<script>$("nav").load("nav-utf.asp");</script>
nav-utf.asp就是上贴的代码。
只要nav-utf.asp有包含文件:
<!--#include file="../asp-bin/webClass.asp"-->
<!--#include file="../waitYou/article_data_path.asp"-->
在,就会出现system error:。这样的JS错误,并且不会显示。但转化成<%
set conn = server.createobject……
set rs = ……
%>这样就不会出错,一切都正常。我想知道这是为什么?why?

(PS:你也可以用一个静态的页面将你数据库中的
FCKeditor Python ColdFusion SQL ASP CSS 数据库 服务器 Google读出来呀,但那个列出上面的文件要用到包含文件。OK,就这样,如果再没有错误的话,就可能是你的浏览器出了问题了。)
- 8# 柠檬园主 于 2008-02-05 21:25:27 发表 | IP:116.3.14.*
- 9# littlenew 于 2008-02-06 15:59:31 发表 | IP:116.24.173.*
明明是用editplus另存的utf-8编码,但用dreamweaver打开时,查看编码居然是gb2312 的,怪不得总是出错。晕死了,真是太郁闷了。

咋就会这样呢?真是搞不懂。
JS报错时也真的好奇怪:system error: -1……(反正是一个超大的负数)。
根据我的经验,因为编码问题会出现乱码,只要改了也就行了,但这次来了个负数。
汗,问题解决。
- 10# littlenew 于 2008-02-06 16:01:41 发表 | IP:116.24.173.*
新年快乐!恭喜发财!

- 11# 柠檬园主 于 2008-02-17 09:27:26 发表 | IP:221.201.144.*
新年快乐~DW如果用的是中文版,默认肯定是GB2312啦,可以在设置里改一下默认设置应该就可以了。但editplus默认的保存utf-8是不包含BOM的,DW包不包含我就不清楚啦,但像VisualStudio是要包含BOM的。包含和不包含BOM的页面混在一起,也有可能出现乱码问题。
- 12# littlenew 于 2008-02-18 17:28:50 发表 | IP:61.141.86.*
对了,你还记得你的那个特别NB的让我的浏览器出错的代码吗?
能贴出来吗?
我找了半天没有找到.
- 13# 柠檬园主 于 2008-02-20 21:37:47 发表 | IP:116.3.18.*
呃,不记得了。。。

- 14# littlenew 于 2008-02-23 18:12:31 发表 | IP:116.24.61.*
可惜了,没有记住?!!!!!!
我到是想收集一下这方面的内容。以防以后我这个小菜鸟碰到这种问题对付不了,到那个时候也就麻烦了。
- 15# 柠檬园主 于 2008-02-25 09:19:31 发表 | IP:116.3.17.*
给我点提示,我现在只隐约记得有这么个事儿,但具体是什么,我自己一点也想不起来了~~
- 16# littlenew 于 2008-02-26 17:22:24 发表 | IP:218.17.62.*
我:你可真牛呀,居然让我的浏览器解释出错。……(不记得了)。
柠檬:你真能挖苦我呀……
网友:我的FF也挫了。
我就记得这么多了,找不到也就算了。
- 17# 柠檬园主 于 2008-02-27 09:10:40 发表 | IP:116.3.12.*
印象还是有的,过年前肯定记得,春节吃得大脑不全了。但你没说清到底是什么错误,那我给你2个选择。
1、javascript出错,页面无法正常进行。
2、浏览器直接就无法显示页面,FF提示说XML解析不正确。
- 18# littlenew 于 2008-02-27 10:04:39 发表 | IP:218.18.129.*
应该是第二种的情况,解析出错,导致不能正常浏览,我没有发现你的网站有什么JS错误。但听你说好像是ContentType什么的问题。
- 19# 柠檬园主 于 2008-02-27 11:40:41 发表 | IP:116.3.12.*
那我知道了,因为针对XHTML,服务器端输出应该是application/xhtml+xml,但默认都是text/html。于是用了w3c提供的方法,
'If InStr(Request.ServerVariables("HTTP_ACCEPT"), "application/xhtml+xml") > 0 Then
' Response.ContentType = "application/xhtml+xml"
'Else
' Response.ContentType = "text/html"
'End If但是用了上面这段代码后,在FF里就不能正常浏览了。
- 20# littlenew 于 2008-02-28 20:51:06 发表 | IP:116.24.60.*
哈哈,就是这个代码,要的就是这个。
收藏。
- 21# 柠檬园主 于 2008-03-02 17:03:07 发表 | IP:221.201.168.*
想起这件事儿来可费了不少劲啊,哈哈~~
- 22# littlenew 于 2008-03-02 20:39:30 发表 | IP:116.24.61.*
是嘛,哈哈,辛苦了。

你的FCK又变样子了,你的步法可真快呀。现在我还在用2.4版本的。
- 23# 柠檬园主 于 2008-03-03 20:43:00 发表 | IP:221.201.144.*
在用最新版的了,虽然还有不少BUG,下的当天偶就去报告了一个BUG.
