2

我正在尝试使用以下代码从 javascript 发送 ajax 请求以从 salesforce 获取数据,但我不断收到 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 回答