【发布时间】:2012-04-10 17:28:13
【问题描述】:
当我从控制台调用 AA.sendRequest() 时,我的代码工作正常,但当我从 onclick 调用它时却不行:
<a href="/b/Technology" onclick="AA.sendRequest()">Technology</a>
由于某种原因,它进入了错误函数。
textStatus = "错误" errorThrown = ""
这是一个非常基本的测试:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="assets/AA.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<a href="login.php" onclick="AA.sendRequest('id');">login</a>
</body>
</html>
Javascript:
// JavaScript Document
var AA;
AA = (function() {
function AA() {}
// Request functions
function sendRequest(){}
AA.sendRequest = function(id){
$.ajax({
url: "login.php",
type: "GET",
dataType: "text",
success: function(data){
alert("yay");
},
error: function(jqXHR, textStatus, errorThrown){
alert("status:"+textStatus+", "+errorThrown);
}
});
return false;
}
return AA;
})();
【问题讨论】:
-
你的通话中的“id”参数在哪里?
-
var
AA定义在哪里?确保它在 html 标记上方的全局范围内。 -
id 是一个工件,我从那里简化了脚本以更好地调试它。
-
AA被定义为函数调用
-
对我来说很好。我唯一的问题是
AA没有定义,所以当你定义AA.sendRequest时 javascript 会抛出一个错误。
标签: javascript jquery ajax