IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Ajax异步请求发送数据参数处理

    ShelWee发表于 2013-06-21 10:30:51
    love 0

    项目中使用到Ajax异步请求,可是在后台一直接收不到传过来的参数。分析了一下请求方法,觉得问题出在参数上。先看下方法:

    jQuery.get(url,[data],[callback])
    返回值:XMLHttpRequest
    参数url (String) :请求路径
    data (Map) : (可选) 待发送 Key/value 参数。
    callback (Function) : (可选) 载入成功时回调函数。

    再来看看我的写法:

    function send(){
          $.get("http://www.shelwee.com/test.jsp",getstr(),funtion(data){
               alert(data);     
          }); 
    } 
    function getstr(){
          var str = "{";
          str += "id:1,";
          str += "name:'ShelWee'";
          str += "}";
          return str; 
    }

    使用这种方式在后台是接收不到数据的,因为getstr()方法返回的是一串字符串,而ajax请求数据参数data是json格式,因此需要将getstr()返回的字符串转成json格式再传送。

    所以再增加一个字符串转json的方法str2Json(),将getstr()所返回的字符串传到send()方法中的请求。

    funtion str2Json(str){
         return eval('('+ str +')');
    }

    将send()方法修改一下即可:

    function send(){
          $.get("http://www.shelwee.com/test.jsp",str2Json(getstr()),funtion(data){
               alert(data);     
          }); 
    }

    这时后台便可成功接收到参数。



沪ICP备19023445号-2号
友情链接