六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 51|回复: 0

jquery跨域Ajax请求

[复制链接]

升级  98%

11

主题

11

主题

11

主题

童生

Rank: 1

积分
49
 楼主| 发表于 2013-1-23 01:16:40 | 显示全部楼层 |阅读模式
关键: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"   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 {@Overrideprotected 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格式}@Overrideprotected 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格式的数据作为函数的参数,整个以字符串的形式返回给前台。。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表