2011-08-19 101 views
1

一直撞着我的头靠在墙上。如何使用jQuery AJAX发布到REST风格的Web服务?

需要POST到RESTful Web服务。 用户名将进入请求网址。 密码进入请求正文。 内容类型必须是application/x-www-form-urlencoded。

使用Chrome“Simple REST Client”扩展,一切工作正常。

使用jQuery.AJAX(),我不断得到405(方法不允许)错误。

好了,下面的代码:

 

    $.ajax({ 
     type: "POST", 
     contentType: "application/x-www-form-urlencoded", 
     url: baseURL + "api/users/" + username + "/login",  
     data: { password: password }, 
     success: function(data) { 
      console.log("success ", data.response); 
     }, 
     error: function(data) { 
      console.log("error ", data.error); 
     }, 
     dataType: "jsonp"    
    }); 

有谁看到什么是错误的代码?

感谢, 雅各

回答

1

JSONP不是设计与POST请求(参见答案this question)一起使用,所以我怀疑dataType: "jsonp"导致的请求被作为GET而非POST发送。您可以使用Firebug或Chrome开发人员控制台中的“网络”面板确认此行为。

你期望服务器返回什么?您可以通过删除dataType或将其设置为其他值来修复它。

+0

我认为你是对的。我误解了文档。谢谢! – jacobdubail

+0

没问题!欢迎来到Stack Overflow :) –