ajax 跨域 4种方法
一,传统的ajax方法 1,js代码
查看复制打印? $("#ajax").click(function(){
$.ajax({
type: "POST",
url: "http://manual.51yip.com/test2.php",
data: 'name=ajax',
dataType:"json",
success: function(data){
$('#Result').text(data.name);
}
});
}); 2,test2.php代码
查看复制打印? <?php
header("Access-Control-Allow-Origin:http://www.baidu.com"); //允许blog.51yip.com提交访问
//header("Access-Control-Allow-Origin:*"); //允许任何访问
echo json_encode($_POST);
?> 二,ajax jsonp 1,js代码
查看复制打印? $("#jsonp").click(function(){
$.ajax({
url: 'http://manual.51yip.com/test1.php',
data: {name: 'jsonp'},
dataType: 'jsonp',
jsonp: 'callback', //为服务端准备的参数
jsonpCallback: 'getdata', //回调函数
success: function(){
alert("success");
}
});
}); function getdata(data){
$('#Result').text(data.name);
} 2,test1.php
查看复制打印? <?php
if(isset($_GET['name']) && isset($_GET['callback'])) //callback根js端要对应,不然会报错的
{
echo $_GET['callback']. '(' . json_encode($_GET) . ');'; //格式固定的,为什么这样,不清楚
}
?> 三,$.getJSON
查看复制打印? $("#getjson").click(function(){
$.getJSON('http://manual.51yip.com/test1.php?name=getjson&callback=?', function(data){ //没有回调函数,直接处理
$('#Result').text(data.name);
});
}); 四,$.getScript
查看复制打印? $("#getscript").click(function(){
$.getScript('http://manual.51yip.com/test1.php?name=getscript&callback=getdata'); //回调函数根jsonp一样
}); 也可以通过查看例子源码,来查看JS代码
几点注意:header("Access-Control-Allow-Origin:*"); //允许任何访问
ajax 跨域 4种方法的更多相关文章
- 第114天:Ajax跨域请求解决方法(二)
一.什么是跨域 我们先回顾一下域名地址的组成: http:// www . google : 8080 / script/jquery.js http:// (协议号) www (子 ...
- 第113天:Ajax跨域请求解决方法
一.原生JS实现ajax 第一步获得XMLHttpRequest对象 第二步:设置状态监听函数 第三步:open一个连接,true是异步请求 第四部:send一个请求,可以发送一个对象和字符串,不需要 ...
- [1.6W字] 浏览器跨域请求限制的详细原理分析&寻找一种最简单的方式实现XHR跨域(9种方法, 附大招可以纯前端实现跨域!)
Title/ 浏览器跨域(CrossOrigin)请求的原理, 以及解决方案详细指南 #flight.Archives011 序: 最近看到又有一波新的创作活动了, 官方给出的话题中有一个" ...
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
最近的项目中涉及到了应用ajax请求后台系统登录,身份认证失败,经过不断的调试终于找到解决方案. 应用场景: 项目测试环境:前端应用HTML,js,jQuery ajax请求,部署在Apache服务器 ...
- 详细梳理ajax跨域4种解决方案
前言 自动接触前端,跨域这个词就一直萦绕在耳畔.因为一般接手的项目都已经做好了这方面的处理,而且之前一直感觉对这方面模棱两可,所以今天就抽个时间梳理一下. 为什么需要跨域 跨域这个概念来自一个叫 &q ...
- 解决ajax跨域几种方式
发生跨域问题的原因: 浏览器的限制,出于安全考虑.前台可以正常访问后台,浏览器多管闲事报跨域问题,但其实前台已经访问到后台了. 跨域,协议.域名.端口任何一个不一样浏览器就认为是跨域. XHR(XML ...
- jquery Ajax跨域调用WebServices方法
由于公司需要开发一个手机页面,想提供给同事直接在手机上可以查询SAP资料.数据需要使用js调用webserver来获取. 因为初次使用Jquery调用Webserver,所以期间并不顺利.测试调用We ...
- Ajax跨域访问问题-方法大全
Case I. Web代理的方式 (on Server A) 即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果.此方案可以解决 ...
- AJAX跨域的常见方法
由于在工作中需要使用AJAX请求其他域名下的请求,但是会出现拒绝访问的情况,这是因为基于安全的考虑,AJAX只能访问本地的资源,而不能跨域访问.比如说你的网站域名是aaa.com,想要通过AJAX请求 ...
随机推荐
- Mac下访问windows的共享文件夹
Finder->前往->smb://<user>@<ip>
- ionic搜索头部
<div class="item-input-inset bar"> <form action="javascript:;" style=&q ...
- JS中如何alert对象
alert(JSON.stringify(res)); alert(JSON.stringify(res)); alert(JSON.stringify(res)); 文章来源:刘俊涛的博客 地址:h ...
- 关于new String(new byte[]{0})
今天在做Zxing的二维码的时候,返回的数据竟然是这个样子,郁闷了一小会,说明我用的这个控件有改进的空间.由于时间的原因,最后还是把这个返回的字符串重新组装. Bundle bundle = data ...
- Java的IO操作,个人理解。
先看一段代码: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import ...
- 特殊文件权限(setuid、setgid 和 Sticky 位)
可执行文件和公共目录可以使用三种特殊类型的权限:setuid.setgid 和 sticky 位.设置这些权限之后,运行可执行文件的任何用户都应采用该可执行文件属主(或组)的 ID. setuid 权 ...
- Qt for Android 开发大坑
Qt for Android 开发大坑 作者: qyvlik Qt 5.5.1 这里说一说比較常见的 Qt 开发安卓的大坑. 希望同学们不要做无谓的挣扎,跳过这些坑. 输入框 首当其冲的是输入框,Qt ...
- 中国版Azure支持那些版本号Linux
不在下述列表中的Linux表示尚未经过正式验证,并不意味着不能使用,客户能够通过自行上传镜像文件的方式使用其它Linux版本号,可是不保证是否遇到一些驱动或者兼容问题. 分发 版本号 上次验证时间 驱 ...
- hibernate的配置, 增删改查
路径:查找路径 实际上都是查找编译后的对应的路径,在bin文件夹中总 增删改必须开启事务才行 hibernate加载文件的两种方式 configure 1.引包 antlr-2.7.6.jar bac ...
- C# EF更新当前实体报错 ObjectManager无法管理具有相同键值的多个对象
原因: ObjectManager已经在跟踪此对象 更新实体前判断 if (db.Entry<T>(t).State != EntityState.Modified) db.Entry&l ...