2

私のコードは、コンソールから 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;
})();
4

1 に答える 1

2

コンテキストがなければ、何を達成しようとしているのかを判断するのは困難です。ただし、以下は機能するはずです。

var AA = {};
AA.sendRequest = function(id){
  $.ajax({
    url: "/ajaxPage/b/Technology",
    type: "GET",
    dataType: "text",
    success: function(data){
      alert("yay");
    },
    error: function(error){
      alert(error);
    }
  });
  return false;
};

あなたのHTMLで:

<a href="/b/Technology" onclick="AA.sendRequest('someId')">Technology</a>
于 2012-04-10T17:34:31.237 に答える