在jQuery中引用XML

时间:2013-02-22 18:31:18

标签: jquery python xml google-app-engine

我必须为AJAX动态填充解析XML文档。但是,我收到了这个错误。

(document).ready(function(){var departure=$('#departure'); arrival=$('#arrival');
$.ajax({type:"GET", url:"cities.xml", dataType:"xml", success: function(xml)


INFO     2013-02-22 18:16:06,951 dev_appserver.py:3092] "GET /cities.xml HTTP/1.1" 40

我的 cities.xml 文件与加载它的模板位于同一目录中。

/templates/template_with_jquery
/templates/cities.xml

有谁知道我收到此错误的原因?

3 个答案:

答案 0 :(得分:1)

本地网址相对于顶层,而不是js文件所处的任何级别。看起来你得到的是404,因为没有<yoursite>/cities.xml这样的文件。

将您的网址更改为“/templates/cities.xml”,您应该没问题。

答案 1 :(得分:0)

首先,这可能与jQuery或XML无关,因为您只是没有从您的开发服务器收到预期的响应。

如果你去http:// [your-dev-server] /cities.xml,你也会得到一个404,所以让我们从那里开始。

你还没有告诉我们cities.xml是模板还是静态文件,但假设它是一个静态文件:

你的经纪人:

url: /updates
static_files: /templates/cities.xml 
upload: /templates/cities.xml

表示当您转到http://[your-dev-server]/updates时,您的服务器会向您发送/templates/cities.xml

要获取您要拨打的网址:http://[your-dev-server]/cities.xml,您必须更改为:

url: /cities.xml
static_files: /templates/cities.xml 
upload: /templates/cities.xml

您可能还应根据文件结构删除初始斜杠:

url: /cities.xml
static_files: templates/cities.xml 
upload: templates/cities.xml

如果cities.xml是一个静态文件,它应该不在模板目录中,因为您可能希望将模板和静态文件分开。将cities.xml放在静态目录中的某个地方,其他静态文件如css,js等等:

url: /static/xml
static_dir: static/xml 
upload: static/xml

static/xml/cities.xml http://[your-dev-server]/static/xml/cities.xmlstatic/xml/countries.xmlhttp://[your-dev-server]/static/xml/countries.xml可{{1}}

如果cities.xml不是静态文件,则必须向我们提供更多信息。

答案 2 :(得分:0)

从头到尾这是一个技术性问题。我必须说,我已经在App Engine中学到了关于yaml文件重要性的宝贵经验。 app.yaml 文件

中的更改如下

<强>原始

1)

url: /static/xml
static_dir: static/xml
upload: static/xml

2)

url: /static/xml
static_files: static/xml
upload: static/xml/cities.xml

正确&amp;最后:

url:/static/xml
static_dir: static/xml

我传递的上传正则表达式与任何内容都不匹配。无论如何,这只是其中一个,但似乎是一百个错误。