日期:2014-05-17  浏览次数:20524 次

关于JS 传递Guid的一个问题
我现在需要把Guid传递到 ASHX页面中 代码如下!

 function getDatas(depCodeVal)
  {
  var result;
  jQuery.ajax({
  type:'POST',
  async:false,
  url:'../hand/UserDel.ashx?uid='+depCodeVal+'',
  data:'',
  success:function(data){
  if(data.length >0)
  {
  result = data;
  }
  }
  });
  alert(result);
   
  }


但是 我在调用该方法的时候 Guid的就不行,改成其他没有“-”符号的就可以,但是我在前台代码中
用escape()和replace() 尝试了,结果就是传递不过去!连方法都没有调用,弄了好久!没有结果,所以求教各位!谢谢!

------解决方案--------------------
1.你可以先把‘-’转换成其他的符号,然后在ashx里面再转换回来。

2.用 cookie或session 记录guid在ashx里面调出来。


------解决方案--------------------
urlencode

------解决方案--------------------
没有吧,GUID 可以当做字符串传递的啊。

我记得我做过的好几项目都是这样的。
------解决方案--------------------
可能是异步执行代码时,alert(result);执行在返回值之前,导致无法获取到值。
------解决方案--------------------
先urlencode,有些字符通过替换后传递
------解决方案--------------------
已经用POST了,为什么参数还放到URL里。
HTML code

function getDatas(depCodeVal)
  {
  var result;
  jQuery.ajax({
  type:'POST',
  async:false,
  url:'../hand/UserDel.ashx',
  data:{"uid":depCodeVal},
  success:function(data){
  if(data.length >0)
  {
  result = data;
  }
  }
  });
  alert(result);
   
  }

------解决方案--------------------
onclick="getDatas('"+uuid.toString()+"'); return false;">没有测试,这个反正就是双引号和单引号的问题
------解决方案--------------------
直接转化成string 传递就可以了