我想用ajax做一個API GET
請求。我有一個jquery函數從第一個輸入字段獲取api鍵值,然後在輸入字段#2 url + api key
上顯示連接結果。我需要獲取第二個輸入字段中顯示的值的獲取請求。我怎樣才能完成這個獲取請求?目標服務器設置爲允許跨域腳本SITEAPI AJAX獲取請求
<script>
$(document).ready(function() {
$(document).ready(function() {
/** get the inputs we might need */
var $result = $('#result');
var $input = $('#input');
$result.data('url', $result.val());
var timer;
/** function to submit data to the server and
update the result input on success */
function submitForm(input, newValue) {
$.ajax({
type: "POST",
url: "/concatenate/index.php",
data: {input:input},
success: function (data) {
$result.val(newValue);
}
});
};
/** on key up, fill #result with the url + input */
$input.bind('keyup', function() {
var $this = $(this);
var inp = $this.val();
var url = $result.data('url');
var newValue = url + inp + '/';
if(timer) { clearTimeout(timer); }
timer = setTimeout(function(){
submitForm(inp, newValue) ;
}, 40);
return false;
});
});
});
</script>
</head>
<body>
<h1>Enter a word:</h1>
<form action="index.php" method="post">
API Key: <input type="text" id="input" name="input"></br>
Concatenated Url + API: <input type="text" style="width:200px;" id="result" name="result" value="http//www.example.com/"></br>
</form>
如果url是與運行腳本的域不同的域,那麼除非目標服務器設置爲允許跨域腳本(默認情況下服務器沒有像這樣設置),否則它將不起作用。這是跨站點腳本(請閱讀相同的域源策略) –
@CrayonViolent目標服務器設置爲允許跨域腳本編寫 – techAddict82