繁体   English   中英

Phonegap / Android错误:未捕获ReferenceError:未在file:///android_asset/www/js/login.js:17定义url

[英]Phonegap/Android error: Uncaught ReferenceError: url is not defined at file:///android_asset/www/js/login.js:17

我为Android创建了一个phonegap应用,并将登录名“逻辑”放入了一个javascript文件。 有些功能登录功能有效,有时则无效。 如果没有,则出现以下错误:

10-24 10:01:13.211:Web控制台(25080):未捕获的ReferenceError:在文件:///android_asset/www/js/login.js:17中未定义url

一切都在那里,当我使用cordova2.0.0时,它工作正常,但是我不得不切换到cordova 2.1.0。 由于开关,它并不总是可以正常工作。 这是我在html文件中包含资源的方式:

<html>

    <head>
        <title>Hello World</title>

        <script type="text/javascript" charset="utf-8" src="js/cordova-2.1.0.js"></script>

        <link rel="stylesheet" href="css/jquery.mobile-1.1.1.min.css" />
        <script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>
        <script type="text/javascript" src="js/jquery.mobile-1.1.1.min.js"></script>
        <script type="text/javascript" charset="utf-8" src="js/login.js"></script>    

    </head>
...

这是我的login.js

$('#page_login_submit').live('click',function(){



  var name = $('#page_login_name').val();
  if (!name) { alert('Please enter your user name.'); return false; }
  var pass = $('#page_login_pass').val();
  if (!pass) { alert('Please enter your password.'); return false; }


  $.ajax({
      url: "http://scoreboard.pronovix.net/?q=scoreboard/user/login.json",
      type: "POST",
      data: 'username=' + encodeURIComponent(name) + '&password=' + encodeURIComponent(pass),
      dataType: "json",
      error: function(jqXHR, textStatus, errorThrown) {
        alert('Login fail: ' + url + '+' + data); //that's line 17
        console.log(JSON.stringify(jqXHR));
        console.log(JSON.stringify(textStatus));
        console.log(JSON.stringify(errorThrown));
      },
      success: function (data) {
        window.location.href = 'index.html';
      }
  });

  return false;
});

谁能说出原因?

很感谢任何形式的帮助!

真诚的

佐利

您正在尝试引用url变量以在错误中打印出来,但尚未在任何地方定义它。

请记住,错误函数无法访问ajax函数的参数。

可能的解决方案

如果实现了beforeSend函数,则可以保存该URL,然后在以后使用

beforeSend: function (jqXHR, settings) {
    url = settings.url + "?" + settings.data;
}

此解决方案取自在Callback函数中访问jQuery Ajax请求的URL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM