AJAX GET请求API(同源策略不适用)

时间:2013-11-09 18:54:12

标签: javascript jquery ajax

我正在尝试通过针对API的AJAX请求执行GET。我知道same origin政策。但是Web服务给了我一个特殊的API密钥来执行对API的GET AJAX请求。问题是我没有获得alert(data)成功或alert(boom)错误。什么都没有显示出来。 jquery函数从文本框中获取值,然后使用该数据执行api调用。

<script>
$(document).ready(function () {
    var timer = null;
    var $new_result=$("#entry");
    var $api = $new_result.data('url',$new_result.val());

    function submitForm( input ) {
        $.ajax({
            type: "GET",
            url: $api,
            success: function(data) {
                        alert(data);
                    },
                    error: function() {
                        alert("boom");
                    }
        });
        return false
    }

    $("#entry").on("change", function() {
        var input = $(this).val();
        clearTimeout(timer);
        timer = setTimeout(function(){
             submitForm(input) ;
        }, 1000);
    })
});
</script>

<input type="text" id="entry" name="entry" style="width: 1000px;" value="http://somesite.com/apikey?123658744sdfs88f7></br>

1 个答案:

答案 0 :(得分:0)

这看起来不正确:

var $new_result=$("#entry");
var $api = $new_result.data('url',$new_result.val());

相反,如果您想从输入中获取值,如您所述,您应该使用以下内容:

var api = $("#entry").val();

除非您在代码中的其他位置url上的data对象上明确设置input值,否则不存在任何内容,这可能是导致你的问题。