如何使用jQuery和AJAX获取/发布/删除/放置信息

我尝试使用ajax和jquery执行DELETE,PUT,GET和POST请求。

POST方法通过创建新记录很有效,但我无法使其它方法(PUT,DELETE和GET)工作。

这是代码(它工作正常,它创建新记录但它没有达到“成功”事件):

var jsonExample = {"advertisement":{"title":"test"}}; $.ajax({ type: "POST", url: "http://example.com/advertisements.json", data:jsonExample, success: function(response){ alert("test"); } }); 

当我将类型“POST”更改为“DELETE”或“PUT”时,我有以下错误:

NetworkError:404 Not Found

当我将其更改为“GET”时,它会抛出以下消息:

200好的

但它没有任何其他回应。 它应该是这样的:

 {"advertisement":{"created_at":"2012-04-17T13:20:17Z","from_age":null,"neighbourhood_id":null,"title":null,"date_to":null,"days":null,"promotion_id":null,"updated_at":"2012-04-17T13:20:17Z","date_from":null,"gender":null,"id":3,"display":null,"desc":null,"budget":null,"image":null,"to_age":null,"department_id":null,"town_id":null}} 

请注意:我的应用程序是从远程服务器获取此信息,但我不知道这是否与此问题有关。 因为我在谷歌浏览器中运行它,并且我在浏览器的控制台上收到了Access-Control-Allow-Origin消息。

有任何想法吗?

出于安全原因,您无法使用jQuery创建跨域AJAX请求。 但是,您可以使用jsonpjsonp是您请求数据的URL设置为处理jsonp请求。

这篇文章应该能帮到你更多的东西: http : //www.fbloggs.com/2010/07/09/how-to-access-cross-domain-data-with-ajax-using-jsonp -jquery及PHP /