`

jquery跨域Ajax请求

阅读更多

关键:ajax的dataType为jsonp,并且在请求的url中加上"?jsoncallback=?"

前台代码:

<script type="text/javascript" src="jquery-1.7.2.min.js"></script> 
<script type="text/javascript">
    function RegisterRequest2() {
        /* getJSON method is ok also... 
        $.getJSON("http://192.168.1.154:7087/ClusterServer/Rigister?jsoncallback=?", { pwd: '123', username: 'tl' }, function(json) { alert(json.name); }); 
        */
         
        $.ajax({
            url: "http://192.168.1.154:7087/ClusterServer/Rigister?jsoncallback=?",
            type: "GET",
            data: { pwd: '123', username: 'tl' },
            dataType: "jsonp",
            success: function(data) {
                alert(data.name);
            },
            error: function(a, b, c) {
                alert("error==" + b);
            }

        }); 
    }  
</script>
<input type="button" onclick="RegisterRequest2();"  value="StartRequest" />

 

后台Servlet代码:

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Rigister extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException { 
		String pwd = req.getParameter("pwd");
		String username =req.getParameter("username");
		System.out.println("get=="+username+"  ==="+pwd);
		 
		String callback = req.getParameter("jsoncallback"); 
		resp.getWriter().write(callback + "({name:'tzy',phone:'123'})"); //参数为json格式
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException { 
		String pwd = req.getParameter("pwd");
		String username =req.getParameter("username");
		System.out.println("post=="+username+"  ==="+pwd);
		 
		String callback = req.getParameter("jsoncallback"); 
		resp.getWriter().write(callback + "({name:'tzy',phone:'123'})"); 
	}

}

 

后台返回前台的时候取出jsoncallback回调函数名,将json格式的数据作为函数的参数,整个以字符串的形式返回给前台。。

分享到:
评论

相关推荐

    Jquery跨域Ajax请求测试

    Jquery跨域访问Web服务的demo源码

    jquery的ajax跨域请求原理和示例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决...

    jquery跨域请求示例分享(jquery发送ajax请求)

    主要介绍了jquery跨域请求示例(jquery发送ajax请求),需要的朋友可以参考下

    利用JQuery jsonp实现Ajax跨域请求json数据

    利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据

    Jquery跨域请求的实现

    所以我猜是跨域问题,马上就去google搜索了一下jquery跨域的解决,是用$.getJSON这个方法,但是我测试了许久,还是不行,继续找,还是没能找到。于是沉下心来,自己想:现在就是我可以通过那个远程的方法在浏览器中...

    ajax处理跨域请求

    通过jquery的ajax处理跨域请求的DEMO,代码比较简单,仅供学习参考。

    jsonpajax跨域请求

    基于jQuery的jsonp ajax跨域请求,

    ajax跨域请求demo.zip

    一个ajax跨域请求的demo实例,前端采用jquery的ajax,后端采用tomcat集成的HttpServlet的方法接受前端的数据和返回数据

    封装了jQuery的Ajax请求全局配置

    摘要:  jQuery已经成为项目中最常见的js库,也是前端开发最喜欢使用的库。... // 判断是否跨域请求  var requestType = ‘jsonp’;  if (url.indexOf(location.host) &gt; -1)  requestType = ‘json’;

    juery mobile使用ajax跨域请求服务器的小实例

    使用juery提交表单,实现ajax跨域请求

    ajax 跨域请求问题 jquery jsonp

    NULL 博文链接:https://sagewsg.iteye.com/blog/1670992

    浅谈jquery中ajax跨域提交的时候会有2次请求的问题

    我们平时在同域中请求页面什么的时候不会有这种情况,这种情况大多发生在移动端的跨域请求中发生的。 解决方法就是在服务端中加一层过滤HTTP请求的类型,把OPTION等不用的类型过滤掉。...以上这篇浅谈jquery中ajax跨

    jQuery跨域问题解决方案

    通过XMLHTTPRquest请求不同域上的数据,原来js跨域访问是后台有个处理路径“/test”的函数。下面给大家介绍jQuery跨域问题解决方案,有需要的小伙伴可以参考下

    Ajax +jquery跨域获取JSON

    这个就么问题了,成功实现跨域读JSON,然后自定义显示天气预报。

    jquery+ajax实现跨域请求的方法

    本文实例讲述了jquery+ajax实现跨域请求的方法。分享给大家供大家参考。具体实现方法如下: 说明:这里的dataType 为 “jsonp” ;type 只能为 GET 前台请求代码如下: 代码如下:$.ajax({  type: “GET”,  url...

    JQuery的Ajax跨域请求原理概述及实例

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决...

    jQuery Ajax实现跨域请求

    主要为大家详细介绍了jQuery Ajax实现跨域请求的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    jQuery使用ajax跨域请求获取数据

    跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作...

Global site tag (gtag.js) - Google Analytics