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>

但是当我将$.ajax()替换为$.get()时它会起作用

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

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

4

3 回答 3

1

解决方案是添加:

dataType: "script"
于 2012-07-30T21:54:22.233 回答
1

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

有关此信息,请参阅http ://guides.rubyonrails.org/routing.html ...

您可以尝试将 $.ajax 函数中的“类型”选项更改为如下所示:

   <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>

编辑:哎呀,看到你在我打字的时候解决了这个问题。:)

于 2012-07-30T21:55:27.100 回答
-1

我认为您正在为此使用 jQuery。尝试用最新版本替换您的 jQuery。

于 2012-07-30T21:46:44.653 回答