jsonp+json实现AJAX跨域请求

这次给大家带来jsonp+json实现AJAX跨域请求,jsonp+json实现AJAX跨域请求的注意事项有哪些,下面就是实战案例,一起来看一下。

AJAX(异步的 JavaScript 和 XML)是用于创建快速动态网页的一种技术,它在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,ajax 使用XMLHttpRequest对象在后台与服务器交换数据,XMLHttpRequest 是 AJAX 的基础,它允许客户端 JavaScript 通过 HTTP请求连接到远程服务器。

但是,由于受到浏览器的限制,这种方法不可以进行跨域访问,如果使用这种方法进行跨域访问则会出现安全问题。不过,我们可以发现,在web页面跨域调用 js文件时,不会受到浏览器的限制,所以我们可以利用将远程服务器端的数据装入js格式的文件,然后再用来供客户端进行调用。

JSON(JavaScript 对象表示法)是一种轻量级的文本数据交换格式,它具有自我描述性,易于理解。JSON 可通过 JavaScript 进行解析,JSON 数据可使用 AJAX 进行传输。

JSON实例:

{ "employees": [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" } ] }

登录后复制

JSON 语法是 JavaScript 对象表示法语法的子集:

数据在名称/值对中, 数据由逗号分隔 ,花括号保存对象, 方括号保存数组。

JSON的特性

纯文本,易于跨平台传递

Javascript原生支持,后台语言几乎全部支持

使用轻量级的文本数据交换格式,适合在互联网中传递

比 XML 更小、更快,更易解析。

基于JSON的这些特性,可以通过使服务器动态生成JSON文件,然后将客户端需要的数据装入这个文件,再将该文件调回客户端供客户端使用。为了便于客户端使用数据,逐渐形成了一种非正式传输协议JSONP,该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来装入JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。

如何使用JSONP

一种简单的方式就是使用jQuery来实现:

  test     $(document).ready(function(){      $.ajax({    type: "get",    async: false,    url: "http://encounter.christmas023.space/json.php?name=mavis&age=18",    dataType: "jsonp",    jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)    jsonpCallback:"message",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写"?",jQuery会自动为你处理数据    success: function(json){     alert('你的名字:' + json.name + ' 年龄: ' + json.age);      },    error: function(){     alert('fail');    }   });  });  

登录后复制

type:请求类型,GET 或 POST,默认为 GET;

async:true(异步)或 false(同步),默认情况下为true,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行;

url:发送请求的地址(跨域请求时应为绝对地址);

dataType:指定服务器返回的数据类型;

jsonpCallback:自定义JSONP回调函数名称;

success:请求成功后回调函数;

error:请求失败时调用此方法。

运行结果:

jsonp+json实现AJAX跨域请求

服务器返回的数据类型:

jsonp+json实现AJAX跨域请求

返回一个指定函数名为message的回调函数,函数里面包裹的数据为JSON格式。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

Jsonp怎样才能解决ajax跨域

在jQuery里调用ajax实现异步

以上就是jsonp+json实现AJAX跨域请求的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2767879.html

(0)
上一篇 2025年3月8日 11:53:06
下一篇 2025年3月3日 06:09:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Json操作日期格式

    这次给大家带来Json操作日期格式,Json操作日期格式的注意事项有哪些,下面就是实战案例,一起来看一下。 开发中有时候需要从服务器端返回json格式的数据,在后台代码中如果有DateTime类型的数据使用系统自带的工具类序列化后将得到一个…

    2025年3月8日 编程技术
    200
  • JSON序列化与反序列化实现方法(附代码)

    这次给大家带来JSON序列化与反序列化实现方法(附代码),JSON序列化与反序列化实现的注意事项有哪些,下面就是实战案例,一起来看一下。 一、JSON简介  JSON(JavaScript Object Notation,JavaScrip…

    2025年3月8日
    200
  • 前端与后端ajax交互方法总结(附代码)

    这次给大家带来前端与后端ajax交互方法总结(附代码),前端与后端ajax交互的注意事项有哪些,下面就是实战案例,一起来看一下。 前端ajax与后端Spring MVC控制器有以下五种数据交互方式。(前台使用了dhtmlxGrid,后端使用…

    编程技术 2025年3月8日
    200
  • JS点击小图片关联显示大图片

    这次给大家带来JS点击小图片关联显示大图片,JS点击小图片关联显示大图片的注意事项有哪些,下面就是实战案例,一起来看一下。 在线预览    源码下载 html代码: 点击图标进行展示 /*定义需要展示的图片以及图片的展示时间*/ $(doc…

    2025年3月8日
    200
  • JS+jquery库实现iframe高宽自适应(附代码)

    这次给大家带来JS+jquery库实现iframe高宽自适应(附代码),JS+jquery库实现iframe高宽自适应的注意事项有哪些,下面就是实战案例,一起来看一下。 ‍ 登录后复制 基于Jquery库的代码很好实现: $(documen…

    编程技术 2025年3月8日
    200
  • ajaxfileupload.js实现文件上传(附步骤代码)

    这次给大家带来ajaxfileupload.js实现文件上传(附步骤代码),ajaxfileupload.js实现文件上传的注意事项有哪些,下面就是实战案例,一起来看一下。 AjaxUpLoad.js的使用实现无刷新文件上传,如图 1、创建…

    2025年3月8日
    200
  • JS封装同域,jsonp跨域(附代码)

    这次给大家带来JS封装同域,jsonp跨域(附代码),JS封装同域,jsonp跨域的注意事项有哪些,下面就是实战案例,一起来看一下。 用原生Js封装了一个Ajax插件,引入一般的项目,传传数据,感觉还是可行的。。。简单说说思路,如有不正确的…

    编程技术 2025年3月8日
    200
  • AJAX使用代理,JSONP,XHR2实现跨域

    这次给大家带来AJAX使用代理,JSONP,XHR2实现跨域,AJAX使用代理,JSONP,XHR2实现跨域的注意事项有哪些,下面就是实战案例,一起来看一下。 域: 域是WIN2K网络系统的安全性边界。我们知道一个计算机网最基本的单元就是“…

    2025年3月8日
    200
  • php+jquery传递json数据实现方法

    这次给大家带来php+jquery传递json数据实现方法,php+jquery传递json数据的注意事项有哪些,下面就是实战案例,一起来看一下。 html页面: $(function(){ $(“#send”).click(functio…

    编程技术 2025年3月8日
    200
  • AJAX二级联动有哪些实现方法

    这次给大家带来AJAX二级联动有哪些实现方法,AJAX二级联动实现的注意事项有哪些,下面就是实战案例,一起来看一下。 后台Handler.ashx using System;using System.Web;using System.Dat…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论