2013-11-09 40 views
0

我正在尝试通过针对API的AJAX请求执行GET。我知道same origin政策。但是,Web服务为我提供了一个特殊的API密钥来执行对API的GET AJAX请求。问题是我没有收到alert(data)成功或alert(boom)错误。没有显示任何内容。 jquery函数从文本框中获取值,然后使用该数据执行api调用。AJAX GET请求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> 

回答

0

这看起来并不正确可言:

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

相反,如果你想从输入值,如你所说,你应该使用下列内容:

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

除非您在代码中的其他位置上的data对象上明确设置了url值,否则不会存在任何内容,whi ch可能是你的问题的原因。

+0

好的,我同意。但它仍然没有显示成功或错误 – techAddict82