博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax跨域通信-博客园老牛大讲堂
阅读量:6937 次
发布时间:2019-06-27

本文共 1980 字,大约阅读时间需要 6 分钟。

一、首先ajax是什么?---

  ajax是一段代码,是用来解决前端(H5)与后端(Java,php)通信的。

二、不用ajax行不?

    可以啊!只要你自己写的H5页面是静态的,或者不与后台进行通信,进行数据的交流,不用ajax也行。

三、ajax能实现跨域吗?

  什么是跨域:例如:你写了一个好看的页面,但是页面的某些数据需要和后台进行交互,怎么做呢,用ajax啊!但是!对与Java程序就不行了,代码全对,但就是老报错。这就是跨域了。就好像你连接不上网一样。ajax对于Java程序来说能实现跨域的

四、怎样实现ajax与Java数据交互呢?--

  利用jsonp!jsonp通信如下:

  这是JavaScript代码:

 传递callback的作用是jsonp的关键。网页首先要传递一个变量,服务端再把变量回传。
$.ajax({                type: "get",                url: "http://localhost:8080/B/B",                async:true,                timeout:2000,                dataType: "jsonp",                jsonp:"callback",                success: function(data) {                    console.log(data.code);                },                error: function(json) {                    alert("失败");                }            });
View Code

  java后台代码:

  

五、ajax的json通信与jsonp通信

  下面是json数据实现与php进行通信的几种方法:(对于Java远程通信无效,一般针对php后台有效。)

例子一:其中var value=eval("("+data+")");是为了把字符串转换成json数据。

1 $.ajax({2             url:"http://192.168.4.109:90/html/books.js",3             type:"POST",4             5             success:function(data){6                 var value=eval("("+data+")");7                 $('#list2').html(data);8             }9         });
View Code

例子二:

1 $.getJSON("menu.js",function(data){2             $.each(data,function(i,field){3                 $("#list2").append("
  • "+field.type+"
  • ");4 });5 });
    View Code

    例子三:

    $.get("a.html",function(data){            $('#list2').html(data);        });
    View Code

    例子四:

    1 $.post("a.html",function(data){2             $('#list2').html(data);3         });
    View Code

     六、上面 的五下的第一个例子是不是跟四下面 的例子有点一样呢。肯定不一样了。不一样的地方自己找吧。

    七、补充:--

      大家试想一下,如果一个超大的工程,会用到许许多多的ajax请求,难道我们要写N次的ajax吗?

      不用了!北京的萧郎  已经帮我们解决了这个问题。万能ajax

      思路:首先写一个万能的ajax方法,把url,success的内容,和error的内容都通过参数的方式传递过来

      代码:

                
    View Code

     八:如果有兴趣的可以研究一下jq的匿名函数:如果用匿名函数来做,那么一个工程写一个ajax通信就行了。

     

     

     

      

     

      

     

    转载于:https://www.cnblogs.com/laonniudajiangtang/p/5842743.html

    你可能感兴趣的文章
    通俗易懂理解JVM结构
    查看>>
    网站漏洞处理
    查看>>
    Laravel 曲谱 - 1.2 安装 - c) 创建 Vagrant Box
    查看>>
    pure-ftp脚本
    查看>>
    栈帧分析
    查看>>
    人生职业规划
    查看>>
    Samba(文件共享服务)
    查看>>
    转载--读写锁
    查看>>
    mysql查询日志计数统计
    查看>>
    淘宝大数据之路
    查看>>
    【学习笔记】Python正则表达式
    查看>>
    靠谱外包公司真的不好找,先看看他的技术栈
    查看>>
    usermod命令 用户密码管理 mkpasswd命令
    查看>>
    unit 5
    查看>>
    Linux常用命令——echo
    查看>>
    windows命令行下用netsh实现端口转发(端口映射)
    查看>>
    glusterFS
    查看>>
    Django 之 分页功能
    查看>>
    pandas 操作-2
    查看>>
    centos6编译安装 httpd-2.4.28
    查看>>