一、jsonp,使用jquery封装的$.ajax,返回数据类型要设置为jsonp

示例:

$.ajax({type: 'get',contentType: "application/json; charset=utf-8",url: "http://localhost:8080/aqi/getCityList.php",dataType: 'jsonp',< /span>
jsonp: "callback",/ / 传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为: callback)jsonpCallback: "success_jsonpCallback", //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名</span>success: function(json) {getCityListSuccess(json);},error: function(data, textStatus, errorThrown) {console.log("error" + ' ' + JSON.stringify(data) + textStatus + errorThrown);}
});或者使用
$.getJson, 在调用的url添加 & callback = ? $.getJSON("http://localhost:8080/aqi/getDetailsByTimepointAndCityId.php?callback=?", {"time_point": time_point,"city_id": city_id
}, function(json) {$('#radar-dialog').css("display", "block");$('#radar-dialog').dialog({title: radar_cityname + "市," + timepoint,width: 350,});formatRadarData(json);
});

PHP端的代码为:

<?php
header("Content-Type: text/html;charset=utf-8");$db_name="aqidata.db";
$conn = new sqlite3($db_name);
$callback = $_GET['callback'];
$resultarray=array();$sql = "select * from 'city' where 1=1 order by id";$result = $conn->query($sql);$i=0;while ($row = $result->fetchArray(SQLITE3_ASSOC)) {$resultarray[$i]=$row;
$i++;}
echo $callback.'('.json_encode($resultarray).')';
?>

注意:1、ajax中要指定jsonp参数,然后后端要把回调函数名称写入到返回值中。

我参考的博文是:http://www.cnblogs.com/xcxc/p/3729660.html

二、用CORS(Cross-Origin Resource Sharing),这个官方草案。

就是在后端代码(php)加入:

header("Access-Control-Allow-Origin:*");

转载于:https://www.cnblogs.com/ziyoublog/p/10774505.html

jsonp和CORS跨域实现相关推荐

  1. php cors和jsonp,jsonp和CORS跨域实现

    搜索热词 写js时总是会遇到跨域请求的问题,现在了解了两种方法,记录之: 1)jsonp,使用jquery封装的$.ajax,返回数据类型要设置为jsonp,示例: $.ajax({ type: 'g ...

  2. 【综合】JS跨域方案JSONP与CORS跨域

    缘由: 因为浏览器的同源策略,即是浏览器之间要隔离不同域的内容,禁止互相操作,提高安全性. 为何要跨域: 有时候你想通过自己的网站去获取另一个自己的网站的一些资料信息,但是由于两者域名不同,所以就被同 ...

  3. Web API 实现JSONP或者安装配置Cors跨域

    前言 照理来说本节也应该讲Web API原理,目前已经探讨完了比较底层的Web API消息处理管道以及Web Host寄宿管道,接下来应该要触及控制器.Action方法,以及过滤器.模型绑定等等,想想 ...

  4. php csrf jsonp,读取型CSRF(JSONP劫持、CORS跨域资源读取、Flash跨域劫持)

    我们只熟悉写入型csrf,像修改用户信息--今天介绍一下读取型CSRF,使用DoraBox这个靶场来演示一波! 地址:https://github.com/Acmesec/DoraBox JSONP劫 ...

  5. cors跨域资源共享】同源策略和jsonp

    在执行下面那段代码的时候,我遇到了一个跨域资源共享的问题 <!doctype html> <html> <head> <meta charset=" ...

  6. JSONP实现Ajax跨域请求

    前言 由于浏览器存在同源策略的机制,所谓同源策略就是阻止从一个源(域名,包括同一个根域名下的不同二级域名)加载的文档或者脚本获取/或者设置另一个源加载的文档属性. 但比较特别的是:由于同源策略是浏览器 ...

  7. CORS 跨域 实现思路及相关解决方案(转:http://www.cnblogs.com/sloong/p/cors.html)

    本篇包括以下内容: CORS 定义 CORS 对比 JSONP CORS,BROWSER支持情况 主要用途 Ajax请求跨域资源的异常 CORS 实现思路 安全说明 CORS 几种解决方案 自定义CO ...

  8. python flask跨域_Flask配置Cors跨域的实现

    1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html.Css.Js,然后在Js中通过Ajax访问C服务器的静态资源或请求.即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源 ...

  9. cors跨域_Spring Boot 中通过 CORS 解决跨域问题

    (给ImportNew加星标,提高Java技能) 转自:江南一点雨 今天和小伙伴们来聊一聊通过CORS解决跨域问题. 同源策略 很多人对跨域有一种误解,以为这是前端的事,和后端没关系,其实不是这样的, ...

最新文章

  1. TCP/IP这本书讲TCP是从哪些方面保证可靠性的?
  2. 适用于Java开发人员的Elasticsearch:Java的Elasticsearch
  3. [vue] 你有看过vue的源码吗?如果有那就说说看
  4. POJ - 2385 Apple Catching (dp)
  5. 每日算法系列【kentln供题】模糊的数字
  6. 【高德地图】获取我的位置信息
  7. PMOS和NMOS的区分及导通方式
  8. 实现电脑同时上内网和外网(或通过外网访问到该电脑通过该电脑访问内网)
  9. C艹入门 -> 入土
  10. 航班延误来领钱,信用卡航班延误险最全攻略(2018年版)
  11. [JLOI2015]装备购买
  12. 如何采集与分析RocketMQ客户端日志
  13. C语言遥控器程序,单片机学习型遥控器程序详解(完整版)
  14. wordpress插件_如何使用适用于WordPress的长格式Storybuilder插件
  15. 威纶通触摸屏232脚位_威纶通触摸屏使用手册
  16. 网页调用 iOS/Android 客户端
  17. 树莓派+阿里云轻松智能家居DIY-app
  18. 申宝策略-行业与概念板块跌多涨少
  19. 无法往开启kerberos的zookeeper上注册服务_英雄联盟手游拳头账号有几个区?lol手游韩国账号怎么注册?...
  20. C++编程练习——五子棋游戏

热门文章

  1. macOS下查看Java/JDK的安装目录_查看Java/JDK的版本信息_配置环境变量JAVA_HOME
  2. c# redis 如何设置过期时间_Redis 过期时间与内存管理
  3. sqlserver存储过程加锁后怎么解锁_【缺陷周话】第59期:重复加锁
  4. 常见的C语言字符串操作
  5. java爬虫jsoup_Java爬虫之利用Jsoup自制简单的搜索引擎
  6. quartz java 线程 不释放_java Quartz 内存泄漏
  7. mysql all_同样是MySQL的all privileges有啥不同?
  8. 二分查找递归与非递归的时间比较_我们说一说Python的查找算法!
  9. php如何解决脏读,php 技术沉淀
  10. 千兆光纤收发器调整措施