ajax json 向action传值的问题

方式1、var name = $("#username").val();
$.ajax({
url: "<%=path%>/user/checkName?name="+name,
type: "get",
async: false,

dataType: "json",
success: function(checkName_ok){ alert("success")}
});

方式2、var name = $("#username").val();
$.ajax({
url: "<%=path%>/user/checkName?",
type: "get",
async: false,
data: {"name":name},

dataType: "json",
success: function(checkName_ok){ alert("success")}
});

首先,在用两种方式传递常量时,都能成功在action中获得值,
在传递变量name时,
只有通过方式1使用url传递变量才能成功,
方式2获得的值为null,
请问这两种传值方式有什么特别大的区别吗?
为什么第二种传值方式不能传递变量?

{name:name}才行。。。。你对象写错了

而且....都用ajax了,还要弄成同步也不是太好我觉得

你那个是直接传递name这个值,不是传递name这个变量的值

data: {"name":"name"},

==》
data: {"name":name},

第二种方式船只的时候,你写错了。。

改成下面这样:
data:{"name":name}