$ .ajax()调用不起作用

时间:2011-03-16 06:35:18

标签: javascript jquery ruby-on-rails ajax ruby-on-rails-3

我正在尝试进行此调用以将数据发送到服务器:

$.ajax({
   type: "POST",
   url: "/videos"
   data: { title = oembed.title }
});

但是,这似乎不起作用。我这样调用了Embedly API:

$('a.oembed').embedly({maxWidth:300,'method':'replace'}).bind('embedly-oembed', function(e, oembed){ 
    });

这样我就可以访问动态生成的哈希oembed,我想保存oembed.title。我在嵌入式呼叫的外部和内部尝试了$.ajax()呼叫,这似乎阻止了整个呼叫嵌入式工作。我做错了什么?

6 个答案:

答案 0 :(得分:4)

你错过了逗号:

url: "/videos"

答案 1 :(得分:2)

使用data: { title: oembed.title }而不是=

答案 2 :(得分:2)

使用冒号而不是等号,并且不要忘记url之后的逗号:

$.ajax({
 type: "POST",
 url: "/videos",
 data: { title: oembed.title }
});

答案 3 :(得分:2)

以下一行:

data: { title = oembed.title }

似乎不行;它应该以这种方式编写,因此data是一个有效的JSON对象:

data: { title : oembed.title }

注意:在JSON中,对象属性的值由冒号分隔;不是一个等号。
有关JSON语法的参考,请参阅json.org


此外,您在此行末尾缺少逗号:

url: "/videos"

应该这样写:

url: "/videos", 

答案 4 :(得分:2)

尝试

$.ajax({
   type: "POST",
   url: "/videos",
   data: { title: oembed.title }
});

此外,我没有看到任何处理响应。也许你想添加一个success处理程序:

$.ajax({
       type: "POST",
       url: "/videos",
       data: { title: oembed.title },
       success: function(data, textStatus, jqXHR) {
         /* your code here - check http://api.jquery.com/jQuery.ajax/ */
       }
 });

答案 5 :(得分:1)

尝试将数据json声明更改为

{ "title": oembed.title }