0

json 応答は次のとおりです。

{"userName":"clevermeal835","userRole":"Participant"}

成功として警告メッセージが表示されますが、応答を読んでいるときに次のようなエラーが表示されます

XMLHttpRequest は URL Origin を読み込めません null は Access-Control-Allow-Origin で許可されていません。

--disable-web-security によってコマンド プロンプトからコードを実行すると、応答が返され
ます。以下はコードです。

<html>  
<head>  
<meta charset="UTF-8">  
<script type="text/javascript" src="Scripts/jquery-1.4.2.min.js"></script>  
                     <script>  
        $(document).ready(  
        function() {  
        $("#jsonpbtn2").click(function() {  
            var uid = "clevermeal835";  
            var pwd = "Welcome_1";  
            var userType = "participant";  
            var surl="http://localhost:8080/RESTlet_WS/MobiSignIn/{\"userName\":\""+uid+"\",\"password\":\""+pwd+"\",\"userType\":\""+userType+"\"}/";  
                $.ajax({  
                    type : 'GET',  
                    contentType: "application/json; charset=utf-8",  
                    url : surl,  
                    dataType : 'json',  
                    headers : {Accept : "application/json","Access-Control-Allow-Origin" : "*"},  
                    crossDomain : true,  
                    success :SucceedFunc ,
                    error : function(data, textStatus, errorThrown) {
                            console.log("error"+' '+JSON.stringify(data) + ' ' + textStatus + '  ' + errorThrown);  
                    }
                    });  
                    function SucceedFunc(data) {
                        alert("success");
                        var userName = data.userName;
                        alert(userName);
                    }
                    });  
                });  
    </script>   
    </head>  
    <body>  
    <input id="jsonpbtn2" type="submit" value="button" />  
    </body>  
    </html>    
4

1 に答える 1

0

呼び出している場合は、ajaxCallPage.html上記の質問のhtmlページのように、file://.../ajaxCallPage.html間違っています。

ファイルajaxCallPage.htmlをWebサーバーに配置し、次のように呼び出しますhttp:/localhost:8080/.../ajaxCallPage.html。その場合、このエラーは発生しません。

その場合、この質問はXMLHttpRequestの重複がhttp:// localhost:8080 / exit / rest / db/...をロードできない可能性があります。OriginnullはAccess-Control-Allow-Originで許可されていません

于 2012-08-21T13:22:31.433 に答える