Ajax跨域解决实例
HTML
在本例中我们跨域http://www.sucaihuo.com/jquery/demo/43/jsonp.php?callback=。你也可以试试其他域名。下面表单中,我们提交后的结果反馈到#rs中。
<form id="form" action="#" method="post">
<ul>
<li><label>标题:</label><input type="text" class="input_text" name="title" /></li>
<li><label>内容:</label><input type="text" class="input_text" name="content" /></li>
<li><input type="submit" class="btn" value="提 交" /></li>
</ul>
</form>
<div id="rs" style="display:none"></div>
jQuery
通过getJSON我们进行跨越请求:
$(function() {
$("#form").submit(function() {
var data = $(this).serialize(); //表单数据系列化
$.getJSON("http://www.sucaihuo.com/jquery/demo/43/jsonp.php?callback=?", data,
function(json) {
var message = '';
if (json) {
message = "<strong>返回信息:</strong><p>标题:" + json.title + "</p>内容:" + json.content + ""
} else {
message = "请注意返回json格式!";
}
$("#rs").html(message).show();
});
return false;
});
});
PHP
我们看下jsonp.php的程序代码:
$result['title'] = $_GET['title'];
$result['content'] = $_GET['content'];
echo $_GET['callback'].'('.json_encode($result).')';
Jsonp原理:
<ul class='ul_demo'> <li>首先在客户端注册一个callback (如:'jsoncallback'), 然后把callback的名字(如:jsonp1236827957501)传给服务器。 此时,服务器先生成 json 数据。 </li> <li> 然后以 javascript 语法的方式,生成一个function , function 名字就是传递上来的参数 'jsoncallback'的值 jsonp1236827957501 . </li> <li> 最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。 </li> <li> 客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时javascript文档数据,作为参数, 传入到了客户端预先定义好的 callback 函数。 </li> </ul>
Ajax跨域解决实例的更多相关文章
- 转载的别人的ajax跨域解决方法
http://dynamic.vip.xxxxxx.com/active/<controllers>/<active>/<id> 放在浏览器地址栏中访问可以得到正确 ...
- ajax 跨域解决方法
最近在开发过程中,使用ajax去异步调取图片.在开发中这个功能没什么问题,可以后来提测,重新部署之后就有问题了,这就是ajax的跨域问题. ajax核心对象XMLHttpRequest本身是不支持跨域 ...
- ajax 跨域解决 网上资料
PHP中运用jQuery的Ajax跨域调用实现代码,需要的朋友可以参考下 可以在页面定义一个调用方法,如下: 复制代码代码如下: function getData(){ $.getJSON(&qu ...
- PHP Ajax跨域解决
PHP Ajax 跨域问题最佳解决方案 本文通过设置Access-Control-Allow-Origin来实现跨域. 例如:客户端的域名是client.runoob.com,而请求的域名是serve ...
- jquery ajax跨域解决
双十一开发了一个抽奖API,最近上线了,各个事业部的大神们需要前台页面,异步调用我的抽奖API,要我提供js. js 提供之后发现不对,跨域了.之前也碰到过跨域的问题,研究过这个问题,三种方法解决. ...
- ajax跨域解决办法
在使用jquery的ajax作请求时,http://127.0.0.1:8080,类似这样的一个本地请求,会产生跨域问题, 解决办法一: jsonp: var url= "http://12 ...
- ajax跨域解决
https://blog.csdn.net/csdn_ds/article/details/73691134 Access-Control-Allow-Origin 跨域设置多域名:http://ww ...
- HBuilder开发app ajax跨域 解决XMLHttpRequest
<div id="a1" onclick="testXHR()" style="font-size: 5em;">sss1< ...
- jquery ajax jsonp跨域调用实例代码
今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...
随机推荐
- Linux中的Buffer 与 Cache
A buffer is something that has yet to be "written" to disk. A cache is something tha ...
- tcp_sync_server and tcp_sync_client
#include <iostream> #include <fstream> #include <sstream> #include <boost/asio. ...
- Golang学习 - strconv 包--数据类型转换
// 将布尔值转换为字符串 true 或 false func FormatBool(b bool) string // 将字符串转换为布尔值 // 它接受真值:1, t, T, TRUE, true ...
- Redis 实践1- redis介绍和安装
redis是一个key-value存储系统,官方站点 http://redis.io 和memcached类似,但支持数据持久化 支持更多value类型,除了和string外,还支持hash.li ...
- nf共享
实验环境是两台Centos6.8 客户端是192.168.3.218 服务端是192.168.3.219 首先配置服务端 1 安装包 用yum安装需要的服务包(两边都安装) yum install n ...
- [记]WIndow/Linux 获取本机(全部)IPv4、IPv6、MAC地址方法 (C/C++)
Linux 获取本机IP.MAC地址用法大全 //#include <sys/types.h> #include <ifaddrs.h> #include <sys/io ...
- Kubeadm 安装部署 Kubernetes 集群
阅读目录: 准备工作 部署 Master 管理节点 部署 Minion 工作节点 部署 Hello World 应用 安装 Dashboard 插件 安装 Heapster 插件 后记 相关文章:Ku ...
- 使用maven搭建hibernate的pom文件配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 各种语系的unicode对应以及local编码方式
链接:http://www.doc88.com/p-801578373970.html 一.英文 Unicode范围: 0041-005A, 0061-007A (若含数字与符号,则为0021-007 ...
- PAT1116. Come on! Let's C (map)
思路:模拟一下就好了,map用来记录每个人的排名. AC代码 #include <stdio.h> #include <map> #include <math.h> ...