zoukankan      html  css  js  c++  java
  • Jsonp 跨域请求实例

    关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下;

    简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止跨域访问的;

    本机实例:

    http://127.0.0.1:80/index.php

    <script src="http://cdn.staticfile.org/jquery/1.11.1/jquery.min.js"></script> 
    <script type="text/javascript">
    	$(document).ready(function(){
    		jQuery.getJSON("http://127.0.0.1:81/index2.php?symbol=IBM&callback=?", 
    		function(data) {
    		    eval(data.symbol);
    		    name();
    		});
    	});
    </script>
    

    这是客户端的脚本,利用jquery,我现在需要在服务端脚本(php)脚本中输出一个名为name的函数,供客户端使用

    http://127.0.0.1:80/index2.php

    <?php
    	$jsonData = json_encode(array('symbol'=>'function name(){alert("My name is Libin")};'));
    	echo $_GET['callback'] . '(' . $jsonData . ');';
    ?>
    

    简单来说。就是客户端通过jquery内置的getJSON方法来调取跨域的服务器端的脚本,而服务器端的脚本输出一段json文本(可以是数组,函数均可,本实例就是输出一个函数),

    但是记住一定要以json格式来输出;然后客户端接收后进行执行即可(如果是函数文本的话,可以先eval一下):;

  • 相关阅读:
    java虚拟机-内存的分配
    java-类的多态和多重继承
    java 设计模式-策略模式
    java-线程介绍和基本使用
    java 数据流操作
    java basic
    JAVA连载117-反射的应用与打破封装新
    C连载2-编译过程以及语言历史概览
    Android连载12-完善新闻app内容区域
    JavaScript连载11-Switch
  • 原文地址:https://www.cnblogs.com/shibazi/p/3799796.html
Copyright © 2011-2022 走看看