0

我正在尝试GET通过 AJAX 请求对 API 进行操作。我知道这项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>
4

1 回答 1

0

这看起来根本不正确:

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

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

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

除非您在代码中的其他位置明确设置对象的url值,否则那里不会存在任何内容,这可能是您的问题的原因。datainput

于 2013-11-09T19:05:50.483 回答