我刚刚开始尝试使用 Phonegap 将我的第一个且仍在开发中的 Web 应用程序转换为移动应用程序。我对从服务器端页面生成到客户端页面生成感到非常困惑,所以我开始做一些基本的东西作为测试存根,所以我实际上能够开始编写我的应用程序。
我正在尝试将 AJAX 发布到 Ruby Sinatra Web 服务并在浏览器中接收响应。我无法让 Firefox 或 Chrome 走上成功之路。
这只是现在的测试,所以它没有做任何有用或合乎逻辑的事情。Sinatra 路线如下所示:
post "/auth/check" do
status 200
content_type :json
{ :login => true }.to_json
end
html/javascript 看起来像这样:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<!-- <script src="js/lib/zepto.min.js"></script> -->
<script src="http://code.jquery.com/jquery-2.0.3.min.js"</script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"</script>
<script>
var BASEURL = "http://localhost:4567";
function login(){
debugger;
$.ajax({
dataType: "jsonp",
url: BASEURL + '/auth/check',
type: "POST",
data: { email: 'somedude@example.com',
password: 'e'
},
success: function (result) {
alert(result);
},
error: function(xhr, type){
alert('Y U NO WORK?')
}
});
}
</script>
</head>
<body>
<input type="button" onClick="login()">Click Me</input"
</body>
</html>
除了给出“YU NO WORK?”之外,我无法让 Firefox 或 Chrome 执行任何操作?警报。任何帮助将非常感激。我尝试从 Zepto.js 切换到 JQuery/JQuery mobile,我尝试将数据类型更改为 jsonp,使用 curl 我已经确认 Sinatra 路由正在返回一些东西和一个 200 状态代码,这就是 JQuery 应该是检查。