小白请教ajax高手:在浏览器可以获取后台JSON,但网页中无法获取,请指导一下谢谢。

tgbd 2019-04-29 01:48:20
在浏览器地址输入http://192.168.1.101:8081/service/HelloWorld 回车,可以马上看到下面结果:
{"name":"Lee","age":"36","id":"123","level":"888"}

但在前端网页中以下面代码,却一直无法获取( 代码网上找了)
<script type="text/javascript">
$(function(){
$("#btn").click(function(){

$.ajax({
url: 'http://192.168.1.101:8081/service/HelloWorld',
type:"GET",
dataType:"json",

contentType:"application/json; charset=utf-8",
error:function(XMLHttpRequest, textStatus, errorThrown){
alert(XMLHttpRequest.responseText);
alert(textStatus);
alert(errorThrown);
},
success:function(data){
$.each(data,function(idx,obj){
var li = document.createElement("li");
li.innerHTML = "<a>" + obj.name + "</a>";
document.getElementById("ul1").appendChild(li);
});
}
});
});

});
</script>

一直按钮点击后执行上面脚本代码,但一直报错。请高手指导一下。
...全文
526 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
专注写bug 2019-05-10
  • 打赏
  • 举报
回复
get请求我记得数据头不是application/json
tgbd 2019-04-29
  • 打赏
  • 举报
回复
可以搞出来了, 再进一步学习一下。先谢谢楼上几位热心帮助。
天际的海浪 2019-04-29
  • 打赏
  • 举报
回复
引用 7 楼 tgbd 的回复:
html文档 是在192.168.1.102:8080这样算跨域了么? 请问要怎么解决,谢谢。
协议,ip地址和端口有一个不同就算跨域, 你ip地址和端口都不同当前算跨域。
tgbd 2019-04-29
  • 打赏
  • 举报
回复
html文档 是在192.168.1.102:8080这样算跨域了么? 请问要怎么解决,谢谢。
天际的海浪 2019-04-29
  • 打赏
  • 举报
回复
引用 2 楼 tgbd 的回复:
我这个是在本机上执行的, 把上面192.168.1.101:8081 改成 127.0.01:8081 还是一样的报对象没有定义。
你html文档的地址是192.168.1.101:8081吗?不是的话就是跨域。 如果是一个地址 url: '/service/HelloWorld', 这样好应该能读取
tgbd 2019-04-29
  • 打赏
  • 举报
回复
我把它放在服务器上(IIS) ,那个服务也安排在服务器上, 上面脚本也改成服务器的IP地址了, 还是报相同的错。 就是说同一个IP ,不知什么原因了。
tgbd 2019-04-29
  • 打赏
  • 举报
回复
错误报:undefined NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://127.0.0.1:8081/service/HelloWorld'.
qq_42966289 2019-04-29
  • 打赏
  • 举报
回复
输出错误 再去了解原因
tgbd 2019-04-29
  • 打赏
  • 举报
回复
我这个是在本机上执行的, 把上面192.168.1.101:8081 改成 127.0.01:8081 还是一样的报对象没有定义。
天际的海浪 2019-04-29
  • 打赏
  • 举报
回复
前端跨域限制,只有用自己的服务器做代理

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧