lijun624wll
lijun624wll
采纳率50%
2018-02-24 07:45 阅读 1.3k

jQuery - AJAX post() 问题

5
<!DOCTYPE html>
<html>
<head>
<script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js">
</script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $.post("http://www.w3school.com.cn/example/jquery/demo_test_post.asp",
    {
      name:"Donald Duck",
      city:"Duckburg"
    },
    function(data,status){
      alert("数据:" + data + "\n状态:" + status);
    });
  });
});
</script>
</head>
<body>

<button>向页面发送 HTTP POST 请求,并获得返回的结果</button>

</body>
</html>

-------以上代码点击按钮无反应,但是复制到:http://www.w3school.com.cn/tiy/t.asp?f=jquery_ajax_post 在线测试又可以,什么原因呢?请高手指点!!
!
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • 已采纳
    ii950606 踮脚敲代码 2018-02-24 08:01

    控制器设置 允许外部资源访问
    response.setHeader("Access-Control-Allow-Origin", "*");

    点赞 1 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 2018-02-24 07:52

    你保存到本地执行ajax跨域报错了,在线测试同于当然没用问题

    点赞 评论 复制链接分享
  • wobushitankun wobushitankun 2018-02-24 07:56

    你这个没有处理跨域呀,自己搭建一个服务端测试吧。要不就一直在线测试

    点赞 评论 复制链接分享
  • longlong3207 longlong3207 2018-02-24 07:58

    F12控制台看看有没有提示

    点赞 评论 复制链接分享
  • stopllL white_g 2018-02-24 08:15

    浏览器跨域限制,原因你可以查一下为什么

    解决办法:

    1. jsonp处理,需要提供接口方提供跨域支持,你可以看看jquery就有jsonp的请求方法。
    2. cors跨域处理,需要提供接口方提供跨域支持,你可以正常post请求,只是后台添加请求头

      其实跨域处理就是为了避免接口被其他网页调用引起的安全问题。
      还有一些其他的解决办法,如果你会写简单的后台,你可以用后台做代理请求数据,也能绕开浏览器的跨域限制

    点赞 评论 复制链接分享
  • longlong3207 longlong3207 2018-02-24 08:19

    这是我拷贝你的代码出现的问题
    所用的 getPreventDefault() 已不赞成使用。请改用 defaultPrevented。
    jquery-1.8.2.min.js:3260:28
    已拦截跨源请求:同源策略禁止读取位于 http://www.w3school.com.cn/example/jquery/demo_test_post.asp 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

    点赞 评论 复制链接分享
  • youyou390 zwl 2018-03-02 08:02

    把这个资源 http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js 下载到本地才行。

    点赞 评论 复制链接分享

相关推荐