单独js文件可以ajax,放到网页上就不行了。。什么情况?
var ajax = require('../static/js/ajax.js');
// console.log(d);
ajax({
url:"http://172.16.11.224:8080/data?",
data: { client_id: '0008', time_stamp: parseInt((new Date().getTime()) / 1000),key:"increment_curve",sign:"hehe",name:"iscc" },
method: 'GET',
success:function (resp) {
// Data = resp;
console.log(resp.responseText);
// display("XX");
},
error:function (err) {
console.log(err)
}
})
单独js文件 用node 运行 没有问题
但是 如果放到 html上,在浏览器上运行就会
跨域了 我知道,但是我后端设置了
header('Access-Control-Allow-Origin:*');
了的
用jQ没有问题,但是引入一个jq就为了ajax太大了,所以找了一个ajax库
https://github.com/bobiscool/...
求大家解答一些疑惑
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
谢谢邀请~
抱歉 来晚了~
很明显 是跨域了
在ajax里边加上dataType:jsonp
代码贴给你:
至于为什么跨域了
是因为违反了同源策略,
所谓同源是指,域名,协议,端口相同。
而当我要访问
http://t1.loocha.cn:9880/link/anchor/finalcompetitor?activityId=40987
时,我目前的地址是:域名、协议、端口 都不相同 所以 根本没有办法交互。
解决这一问题有很多办法
鉴于你用的ajax 就直接加jsonp吧
请参考这个网址了解jsonp
根据报错来看不是前端的问题啊,form表单提交是可以直接跨域的,目测jq的ajax可能是模拟表单提交的,所以没有报跨域的错,而你用的ajax库则不是。
header('Access-Control-Allow-Origin:*'); 这个正确设置了,把你的网页放在服务器中去跨域,如果你是用本地文件打开,即地址栏是 file:// 开头的,也可能会影响(猜测)
跨域了,自行去查跨域相关知识,html里是file协议,跨域问题,你在node里能用是因为有服务器环境