[英]POST request to ruby on rails server fail
我正在為移動應用程序構建帶有一些API的Rails應用程序。
問題在於所有POST請求均不起作用。
這是我的呼叫方式(通過phonegap應用程序):
72 $.ajax({
73 url: 'http://www.my-website.com:port/api/login',
74 type: 'POST',
75 dataType: 'json',
76 data:{"email":"my-email",
77 "password":"my-password"},
78 success: function(data){
79 alert(data);
80 },
81 error: function (event, jqXHR, ajaxSettings, thrownError) {
82 alert('[event:' + event + '], [jqXHR:' + jqXHR + '], [ajaxSettings:' + ajaxSettings + '], [thrownError:' + thrownError + '])');
83 }
84 });
這是服務器日志:
Started POST "/api/login" for xxx.xxx.xxx.xxx at 2015-04-03 10:58:51 +0000
Processing by ApiController#login as HTML
Parameters: {"email"=>"\"my-email.com\"", "password"=>"[FILTERED]"}
Completed 500 Internal Server Error in 2ms
JSON::ParserError (A JSON text must at least contain two octets!):
app/controllers/api_controller.rb:71:in `parse_request'
這是我在api控制器中收到錯誤的地方:
before_filter :parse_request
...
def parse_request
@json = JSON.parse(request.body.read)
end
我解決了將ajax請求代碼更改為此的問題:
69 var dt={
70 "email":"my-email",
71 "password":"my-password"
72 }
73
74 $('#submit').click(function(){
75 //localStorage['id'] = 10;
76 //if (localStorage != null)
77 // window.location='index-logged.html';
78 $.ajax({
79 url: 'http://www.my-website.com/api/login',
80 type: 'POST',
81 data: JSON.stringify(dt),
82 cache: false,
83 success: function(data){
84 alert(data);
85 },
86 error: function (event, jqXHR, ajaxSettings, thrownError) {
87 alert('[event:' + event + '], [jqXHR:' + jqXHR + '], [ajaxSettings:' + ajaxSettings + '], [thrownError:' + thrownError + '])'
88 }
89 });
90 });
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.