Ajax调用Restful Web Service

时间:2012-06-05 21:31:37

标签: jquery ajax rest

我在尝试从Restful Web服务中收回字符串时遇到问题。 我的ajax代码看起来像这样          

    <meta http-equiv="Content-Script-Type" content="text/javascript">
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> 
        <script type="text/javascript">
        function showName(str)
        {   
          if (str=="")
          {
            document.getElementById("playerInfo").innerHTML="Player information will be listed here.";
            return;
          }

    var n =  "path/to/jboss"+str;
         document.getElementById("testURL").innerHTML=n;
    $.ajax({
        type: "GET",
        url: n,
        dataType: "html",
        success:function(resp){
             document.getElementById("playerInfo").innerHTML=resp;
        },
        error:function(e){
            document.getElementById("playerInfo").innerHTML="Error: " + e;
        }
    });
    }

        </script>

</head>
<body>
    <form action=""> 
        <select name="id" onchange="showName(this.value)">
            <option value="">Select an id number:</option>
            <option value="51902">51902</option>
            <option value="51907">51907</option>
            <option value="51916">51916</option>
        </select>
    </form>
  <div id="testURL"></div>
    <div id="playerInfo">Player information will be listed here.</div>
</body>
</html>

正在传递的str是我在该页面上的应用程序的参数。假设返回一个HTML字符串,但总是会出错,永远不会成功。任何人都可以为我诊断这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试这个,如果你已经有jquery为什么不在所有东西上使用它,我在ajax调用中更改了参数

function showName(str) {

        if (str == "") {
            $("#playerInfo").html("Player information will be listed here.");
            return;
        }

        var n = "path/to/jboss" + str;
        $("#testURL").html(n);
        $.ajax({
            type: "GET",
            url: n,
            success: function (resp) {
                $("#playerInfo").html(resp);
            },
            error: function (e) {
                $("#playerInfo").html("Error: " + e);
            }
        });
    }