2

次のコードを使用してセールスフォースからデータを取得するためにJavaScriptからajaxリクエストを送信しようとしていますが、Error:0メッセージが表示され続けます。リクエストが正しく送信されていないようです。コードの何が問題なのかわかりません。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
    var $j = jQuery.noConflict();
    $j(function(){  
        var url = 'https://myorg-developeredition.na14.force.com/services/apexrest/clsapi';
        $j.ajax({
            url: url,
            type: 'POST',
            success : function() { 
                alert('Hello'); 
            },
            error : function(jqXHR, textStatus, errorThrown) {
                alert('Error: ' + jqXHR.status);
            },                
        });
    });
</script>

しかし、ブラウザに同じURLを入力すると、セールスフォースから応答がありました。それが示している

<response>myresponse</response>

ありがとう

4

1 に答える 1

1

Same Origin Policyによりブラウザが阻止しているクロス ドメイン リクエストを送信しています。

クロス ドメイン リクエストを送信するには、jsonp.

var url = 'https://myorg-developeredition.na14.force.com/services/apexrest/clsapi';
$j.ajax({
    url: url,
    type: 'POST',
    dataType: 'jsonp', 
    success : function() { 
        alert('Hello'); 
    },
    error : function(jqXHR, textStatus, errorThrown) {
        alert('Error: '+jqXHR.status);
    } // <-- remove the trailing comma you had here
});
于 2012-12-10T10:36:15.260 に答える