2012-07-30 205 views
0

我知道这段代码工作正常,但是当我把这段代码放在我的(ruby on rails)项目上时,它不起作用。

<script type="text/javascript"> 
    $.ajax({ 
      type: "POST", 
      url: "http://www.mywebsite.com", 
      data: { name: "John", location: "Boston" } 
      }).done(function(msg) { 
      alert("Data Saved: " + msg); 
     }); 
    </script> 

但是,当我更换工作$。阿贾克斯()$获得()

$.get("https://stackoverflow.com/users/20.json", function(data) 
     { 
     }).done(function(msg) { 
      alert("Data Saved: " + msg); 
     }); 

有人知道为什么我的(Ruby on Rails的)项目$ .ajax不起作用,但$ .get()工作正常吗?

+0

ajax调用是否正确地到达您的服务器? – dcpomero 2012-07-30 21:49:53

+1

定义“不起作用”。 – 2012-07-30 21:52:02

+0

另外考虑到get和post是完全不同的,我会假设你没有POST的正确路由。试试$ .ajax({...,输入:'GET',...}) – travis 2012-07-30 21:56:14

回答

-1

我想你是用这个jQuery。尝试用最新版本替换你的jQuery。

1

解决的办法是补充:

dataType: "script" 
1

是路由限制GET请求的处理?这将解释“基于POST”的查询(你的第一个例子)不起作用,而基于“GET”的查询则起作用。

http://guides.rubyonrails.org/routing.html查找有关此信息...

你可以尝试只改变你的$就功能“类型”选项是这样的:

<script type="text/javascript"> 
$.ajax({ 
     type: "GET", 
     url: "http://www.mywebsite.com", 
     data: { name: "John", location: "Boston" } 
     }).done(function(msg) { 
     alert("Data Saved: " + msg); 
    }); 
</script> 

编辑:哎呀,看到你在我打字时修复了这个问题。 :)

+0

谢谢:) – user1560922 2012-07-30 22:18:39