jQuery AJAX 的函数调用问题。。

2016-06-15 13:27:16 +08:00
 xjtlujoe

jQuery AJAX 中的 load,get 函数中第一个参数, url ,在 win 下能调用本地文件么?

比如和 html 文件同一个目录下的 txt 文件...

试过比如

$("#div1").load("test.txt");

但是没有 load 成功...

求解....

2069 次点击
所在节点    问与答
16 条回复
DT27
2016-06-15 13:32:02 +08:00
能,我测试成功了。
xjtlujoe
2016-06-15 13:37:22 +08:00
@DT27 还是没成功。。咋整
DT27
2016-06-15 14:06:48 +08:00
@xjtlujoe "demo_test.txt #p1" 后面的"#p1"是什么鬼。。。
xjtlujoe
2016-06-15 14:40:27 +08:00
@DT27 txt 文件中的元素 id 啊。。
chairuosen
2016-06-15 14:57:55 +08:00
显然不能。。。。这是要发 http 请求的,除非你本地有个 server 接着,然后 server 转发文件。
freeminder
2016-06-15 14:58:35 +08:00
@chairuosen 活捉
sensui7
2016-06-15 15:03:41 +08:00
不行, ajax 只能不能操作本地的, 特别是 chrome, 已经禁止本地请求了.
hxsf
2016-06-15 15:05:34 +08:00
不能操作 file://的
xjtlujoe
2016-06-15 15:21:43 +08:00
@chairuosen pc 上弄个 wamp 可以将本地文件弄个 url 链接么?
hujian201231
2016-06-15 15:24:31 +08:00
我记得 firefox 是可以的,其实你起一个本地服务器就可以正常测试了。
chairuosen
2016-06-15 15:24:39 +08:00
@xjtlujoe 直接一个 nginx ,绑个域名到某个目录,就可以通过请求访问那个目录的文件了
xjtlujoe
2016-06-15 16:22:40 +08:00
@chairuosen 用 apache 应该也可以,有个 serveralias 方法可用。。不过试了网上的案例,没啥用。。。于是找了个 url ( http://www.runoob.com//try/ajax/demo_test.txt ),在 load 函数中调用这个 url ,也不行。。。 chrome 说是 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
chairuosen
2016-06-15 16:24:01 +08:00
@xjtlujoe 返回头加上 Access-Control-Allow-Origin : * 就行
learnshare
2016-06-15 16:48:17 +08:00
开一个本地服务器,就可以发送 Ajax 了
learnshare
2016-06-15 16:49:13 +08:00
@learnshare 当然,貌似 IE (当年用的是 9 ?)可以直接打开 file ,然后发 Ajax
xjtlujoe
2016-06-16 12:33:58 +08:00
用 chrome 装了个 Access-Control-Allow-Origin 插件,就可以访问本地文件了。。。查了一下,这个问题是浏览器的“同源策略”问题。。。 jsonp 也可以实现类似功能。。 http://blog.csdn.net/xiaoxian8023/article/details/27817861

http://www.jianshu.com/p/4e17445d66e2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/285894

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX