jquery ajax jsonp跨域调用实例代码


Posted in Javascript onDecember 11, 2013

客户端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApp.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script src="jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
    function aa() {
        $.ajax({
            url: "http://localhost:12079/WebForm2.aspx",
            data: "p1=1&p2=2&callback=?",
            type: "post",
            processData: false,
            timeout: 15000,
            dataType: "jsonp",  // not "json" we'll parse
            jsonp: "jsonpcallback",
            success: function(result) {
            alert(result.value1);
            }
        });
    }</script>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
    <p>
        <input id="Button1" type="button" value="button" onclick="aa()" /></p>
</body>
</html>

服务器端代码

 public partial class WebForm2 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {           
         string callback = Request["callback"]; 
            string v1="1";
            string v2="2";
            string response = "{\"value1\":\"" + v1 + "\",\"value2\":\"" + v2 + "\"}";
            string call = callback + "(" + response + ")";
            Response.Write(call);
            Response.End();
        }
    }

客户端页面和服务器端页面在两个项目中,以便进行跨域调用测试。

跨域实例代码(需要加载jquery,页面为utf-8编码):

 <!--拉勾招聘数据-->
  <script type="text/javascript">
   function success_jsonpCallback(data){
    var html = '';
    var pos = '';
    html += '<ul>';
    jQuery.each(data, function(k, v) {
                 if(k<10){
                  pos = '【' + v.city+ '】' + v.positionName + '('+ v.salary +') - '+v.companyName;
      if(pos.length > 20){
       pos = pos.substring(0,19)+'...';
                     }
                     html += '<li><a href="'+v.posiitonDetailUrl+'" target="_blank" title="【' + v.city+ '】' + v.positionName + '('+ v.salary +') - '+v.companyName+'">'+pos+'</a></li>';
                 }
    });
    html += '</ul><div class="more-link"><a href="http://www.lagou.com/jobs/list_%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91" target="_blank">更多</a></div>';
    jQuery('#lagouData').html(html);
   }   function getLagouData() {
    jQuery.ajax({
     async:false,
     url: "http://www.lagou.com/join/listW3cplus?kd=%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91",
     type: "GET",
     dataType: "jsonp",
     jsonpCallback: 'success_jsonpCallback',
     contentType: "application/jsonp; charset=utf-8",
     success: function(data) {
      success_jsonpCallback(data);
     }
    });
   }
   getLagouData();
        </script>
      <div id="lagouData"></div>

jsonp代码:

success_jsonpCallback([{"city":"广州","companyName":"POCO.CN","createTime":"15:02发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/16868.html","positionAdvantage":"身处凝聚力团队,老城区上班交通便利,双休","positionName":"商业前端开发工程师","salary":"4k-7k"},{"city":"北京","companyName":"美通云动(北京)科技有限公司","createTime":"14:47发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/16866.html","positionAdvantage":"Html5技术最棒的团队","positionName":"Web前端开发","salary":"4k-8k"},{"city":"杭州","companyName":"口袋购物","createTime":"14:42发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/13024.html","positionAdvantage":"广阔的发展平台、自我价值体现的地方","positionName":"web前端开发工程师","salary":"8k-12k"},{"city":"北京","companyName":"布丁移动","createTime":"14:02发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/1498.html","positionAdvantage":"三餐、周围美女如云","positionName":"Android开发工程师","salary":"10k-20k"},{"city":"北京","companyName":"布丁移动","createTime":"14:02发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/2539.html","positionAdvantage":"三餐,小桥流水人家,美女","positionName":"ios开发工程师","salary":"10k-20k"},{"city":"上海","companyName":"天天动听","createTime":"00:55发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/11494.html","positionAdvantage":"创业氛围 讲求小而美","positionName":"Android开发工程师","salary":"8k-16k"},{"city":"北京","companyName":"LBE安全大师","createTime":"11:39发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/5983.html","positionAdvantage":"五险一金 绩效奖金","positionName":"Android开发工程师","salary":"8k以上"},{"city":"北京","companyName":"点心移动","createTime":"11:24发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/16736.html","positionAdvantage":"技术导向的团队氛围,全方位的福利待遇","positionName":"Android","salary":"15k-25k"},{"city":"广州","companyName":"荔枝FM","createTime":"10:44发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/16634.html","positionAdvantage":"连坚持跑步、保持体重都有奖励哦!","positionName":"WP手机开发工程师","salary":"16k-25k"},{"city":"北京","companyName":"网银-京东子公司","createTime":"10:08发布","posiitonDetailUrl":"http://www.lagou.com:80/jobs/14162.html","positionAdvantage":"负责京东商城-互联网金融产品 JS开发","positionName":"Javascript 前端开发工程师","salary":"10k-20k"}])
Javascript 相关文章推荐
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
计算世界完全对称日的js代码,粗糙版
Nov 04 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
Dec 26 Javascript
eclipse导入jquery包后报错的解决方法
Feb 17 Javascript
javascript 动态创建表格
Jan 08 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
Dec 01 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
Jul 04 Javascript
javascript移动端 电子书 翻页效果实现代码
Sep 07 Javascript
JS控制下拉列表左右选择实例代码
May 08 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
Nov 24 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 Javascript
JavaScript Math.ceil() 函数使用介绍
Dec 11 #Javascript
Javascript实现返回上一页面并刷新的小例子
Dec 11 #Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
Dec 11 #Javascript
判断javascript的数据类型(示例代码)
Dec 11 #Javascript
利用javaScript实现点击输入框弹出窗体选择信息
Dec 11 #Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
Dec 11 #Javascript
jquery Tab效果和动态加载的简单实例
Dec 11 #Javascript
You might like
PHP生成静态页面详解
2006/11/19 PHP
一个PHP分页类的代码
2011/05/18 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
jQuery随机密码生成的方法
2015/03/09 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
python实现推箱子游戏
2020/03/25 Python
python的pstuil模块使用方法总结
2019/07/26 Python
python数据处理之如何选取csv文件中某几行的数据
2019/09/02 Python
PyCharm2018 安装及破解方法实现步骤
2019/09/09 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
python线程池如何使用
2020/05/28 Python
一文读懂Python 枚举
2020/08/25 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
Under Armour瑞典官方网站:美国高端运动科技品牌
2018/11/21 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
大宝sod蜜广告词
2014/03/21 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js