关于前端调用后端php数据跨域的问题

https://blog.csdn.net/qq_21386275/article/details/87269979

js前端

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<title>jsonp跨域示例</title>
</head>
<script>
//下边的请求相当于发送的是:http://***/test/jsonp.php?callback=getMessage
$.ajax({
url:"http://***/test/jsonp.php",//你请求的地址
type:"get",
cache:false,
dataType:"jsonp",
jsonp:"callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
jsonpCallback:"getMessage", //自定义的jsonp回调函数名称
success:function(data){
console.log("success:"+data[‘b‘]);
},
error:function(){
alert("发生异常");
}
});
//下边这个函数可以注释调,也会走success,这是jQuery的功劳。jquery在处理jsonp类型的ajax时(虽然jquery也把jsonp归入了ajax,但他们根本不是一回事儿),自动生成回调函数并把数据取出来供success属性方法来调用。
function getMessage(jsonp){
console.log("message:"+jsonp);
}
</script>
php 部门

<?php
header(‘Content-Type:application/json; charset=utf-8‘);
$handler = $_GET[‘callback‘];//这里的callback与ajax中jsonp的值对应
$data = array(‘a‘=>‘aaa‘,‘b‘=>‘中文‘);//发送到前端的数据
exit($handler.‘(‘.json_encode($data,JSON_UNESCAPED_UNICODE).‘);‘);

原文地址:https://www.cnblogs.com/cainiaoaixuexi/p/11824455.html

时间: 2024-11-09 05:05:57

关于前端调用后端php数据跨域的问题的相关文章

前端开发如何独立解决跨域问题

背景 跨域是由浏览器同源策略引起的,是指页面请求的接口地址,必须与页面url地址处于同域上(即域名,端口,协议相同).这是为了防止某域名下的接口被其他域名下的网页非法调用,是浏览器对JavaScript施加的安全限制. 这个措施出发点是好的,但在项目开发的过程中,常常给前端开发者带来麻烦. 由于页面开发中,静态资源是放在本地电脑上的,访问这些资源通常通过IP方式(127.0.0.1)或者localhosts来访问,与线上服务器所在域名不符,不能顺利进行接口调用. 解决跨域问题常用的解决方案有两个

跨域调用webapi web端跨域调用webapi

https://www.baidu.com/s?ie=UTF-8&wd=webapi%20%E8%B7%A8%E5%9F%9F web端跨域调用webapi 在做Web开发中,常常会遇到跨域的问题,到目前为止,已经有非常多的跨域解决方案. 通过自己的研究以及在网上看了一些大神的博客,写了一个Demo 首先新建一个webapi的程序,如下图所示: 由于微软已经给我们搭建好了webapi的环境,所以我们不必去添加引用一些dll,直接开始写代码吧. 因为这只是做一个简单的Demo,并没有连接数据库.

解决js获取数据跨域问题,jsonP

网上说了一些jsonp的示例,感觉都没用,最后研究了一下,调用腾讯的一个api.最后要加output=jsonp&callback=?这个,比较适用. var url = "http://apis.map.qq.com/ws/place/v1/search?boundary=nearby(39.908491,116.374328,1000)&keyword=%E6%88%90%E9%83%BD&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

Spring MVC之中前端向后端传数据

Spring MVC之中前端向后端传数据 Spring MVC之中前端向后端传数据和后端向前端传数据是数据流动的两个方向, 在此先介绍前端向后端传数据的情况. 一般而言, 前端向后端传数据的场景, 大多是出现了表单的提交,form表单的内容在后端学习的md文档之中有所介绍,form标签的语法格式如下 <FORM NAME="FORM1" ACTION="URL" METHOD="GET|POST" ENCTYPE="MIME&qu

处理前端人员提出的接口跨域问题

手机端调用接口没有问题.但是前端人员说访问存在跨域问题.无法正常调用 public EiInterfaceQZPO toMail(String biz,HttpServletResponse response){ response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Headers", "Conte

【h5】h5数据跨域交换postMessage用法

h5数据跨域交换postMessage用法 来源 1.与通过window.open()打开的新窗口跨域数据交换,代码如下: (1)源窗口 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>源窗口</title> 6 </head> 7 <body> 8 <b

前端筑基篇(一)-&gt;ajax跨域原理以及解决方案

说明 跨域主要是由于浏览器的“同源策略”引起,分为多种类型,本文主要探讨Ajax请求跨域问题 前言 参考来源 什么是跨域 ajax跨域的表现 跨域的原理 如何解决跨域问题 JSONP方式解决跨域问题 CROS解决跨域问题 CROS请求原理 PHP后台配置 JAVA后台配置 .NET后台配置 FAQ multi value '*,*' 的问题 前言 强烈推荐阅读参考来源中的文章,能够快速帮助了解跨域的原理 参考来源 本文参考了以下来源 浏览器同源政策及其规避方法(阮一峰) 跨域资源共享 CORS

Django 【第二十篇】后端CORS解决跨域问题

一.为什么会有跨域问题? 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截. 二.解决跨域问题的两种方式 JSONP CORS 三.JSONP 先简单来说一下JSONP,具体详细详见上面JSONP JSONP是json用来跨域的一个东西.原理是通过script标签的跨域特性来绕过同源策略.(创建一个回调函数,然后在远程服务上调用这个函数并且将json数据形式作为参数传递,完成回调). 四.CORS跨域 随着技术的发展,现

前端往后端发送数据的几种方法

先来谈谈XmlHttpRequest对象 XmlHttpRequest对象的主要方法: a. void open(String method,String url,Boolen async) 用于创建请求 参数: method: 请求方式(字符串类型),如:POST.GET.DELETE... url: 要请求的地址(字符串类型) async: 是否异步(布尔类型) b. void send(String body) 用于发送请求 参数: body: 要发送的数据(字符串类型) c. void