我知道有一个类似的问题被提出但在我的案例中没有任何帮助。
我正在开发Cordova应用程序。我在应用程序上运行了一系列测试,使用我的系统浏览器(IE和Mozilla),一切(导航,Web服务调用)都能正常工作
现在使用Eclipse,从模拟器中,我尝试登录到应用程序(身份验证应该调用web服务),但没有任何反应。
在检查LogCat时,我看到了一个异常:
未捕获的SyntaxError:意外的令牌)",来源:文件:///android_asset/www/login.html
这是.js脚本部分:
$(document).on('click', '#S_IN', function() {
if (($('#username').val() == "") || ($('#password').val() == "")) {
alert("All fields are required.");
} else {
$.ajax({
type: "POST",
data: JSON.stringify({
"username": $('#username').val(),
"password": $('#password').val()
}),
url: "http://127.0.0.1/appName/Service.asmx/Authenticate",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
if (JSON.parse(data.d).toLowerCase() == 'success') {
$.mobile.changePage('main.html');
} else {
alert("Login failed. Invalid Username or Password combination.");
}
},
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
});
}
});
//..............................Login End........................//
请问我做错了什么?我被卡住了。
答案 0 :(得分:2)
Imaxo,你的代码风格不是很好,你需要做以下事情:
这是一个小例子:
firstFile.js
var app = app || {};
app.auth = (function(){
return {
initialize: function(){
//declare variable
//this.variable = global for this object
//var some; = local for this method
},
validate: function(){
//validate data
},
send: function(){
//send AJAX request
}
//other methods
}
})();
secondFile.js
var app = app || {};
$(function(){
app.auth.initialize();
});
这是揭示具有基本模块组织模式的模块化模式,但更好地了解require.js
告诉你的问题,你的代码中某处你写了多余的“)”