2015-03-02 138 views
-5

我知道了类似的问题已经被问,但没有我的情况下帮助未捕获的SyntaxError:意外的标记)”,

我开发一个科尔多瓦程序,我跑了一系列的测试上的应用程序和一切(导航,。 Web服务调用)工作正常使用我的系统浏览器(IE和Mozilla)

现在使用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........................// 

PLS我究竟做错了什么?我卡住了。

+2

应该看看'xhr.responseText'中有什么' – Hacketo 2015-03-02 21:20:12

+1

另外,我不确定你甚至想要首先使用'eval'。这就是* JSON *的用途(假设'xhr.responseText'是一个字符串化的对象)。 – JCOC611 2015-03-02 21:21:48

+1

所以你的回应是一个JSON对象,其属性的值是一个JSON编码的*字符串*?真? – Pointy 2015-03-02 21:22:32

回答

2

Imaxo,你的代码风格的心不是那么好,你需要做如下事情:

    加载DOM /窗口
  1. Procces数据后
  2. 声明变量
  3. 不重视的事件记录(除了这应该 解雇不形键盘事件)
  4. 准备数据之前把它要求

,这里是小例子:

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更好看

asnwering your question,somewhere in your code you write excess“)”

相关问题