我有一個文本框和一個提交按鈕。提交表單(按下按鈕或單擊按鈕)後,我希望瀏覽器保留在當前頁面上,不要重新加載任何內容。使用jQuery替換API輸出的輸入
我想從文本字段中獲取輸入,使用此數據聯繫HTTP GET API,然後將API的輸出返回到輸入文本框中,並突出顯示輸出以便它可以複製到剪貼板。
我是新來的jQuery,因此,如果任何人的願意寫這個代碼希望小片段,這將會是非常讚賞:)
我有一個文本框和一個提交按鈕。提交表單(按下按鈕或單擊按鈕)後,我希望瀏覽器保留在當前頁面上,不要重新加載任何內容。使用jQuery替換API輸出的輸入
我想從文本字段中獲取輸入,使用此數據聯繫HTTP GET API,然後將API的輸出返回到輸入文本框中,並突出顯示輸出以便它可以複製到剪貼板。
我是新來的jQuery,因此,如果任何人的願意寫這個代碼希望小片段,這將會是非常讚賞:)
這個代碼表示:
你需要改變你的網址,將mystring
到任何服務器期待作爲paramater,如果你有多個窗體或輸入,你需要指定ID或類(如form#myid
或form.myclass
)。除此之外,這應該工作。
$('form').submit(function(e){
e.preventDefault();
$.get("/url/from/get/api", {mystring: $('input').val()}, function(data, status) {
$('input').val(data);
$('input').select()
});
return false;
})
這應該爲你工作。你不能跨域交叉。
$(function(){
$('#idOfForm').on('submit', function(e){
e = e || window.event;
e.preventDefault();
$.ajax({
url: 'curl.php',
data: $(this).serialize(),
datatype: 'post',
success: function(data){
//do something with returned data
alert(data);
}
});
});
});
curl.php:
$url = 'http://apiurl.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch ,CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
$err = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $contents ? $contents : $err;
$('#your_button_id').click(function(e){
e.preventDefault(); //to stay on same page
$.ajax({
type: 'POST',
url: 'your_url',
data: $('#form_id').serialize(),
success: function(response){
//On success you will have responce from server
//Do all yo need with buttons and texts
}
});
});
+1顯示'序列化()'。 – Chopin
做過一個夢,謝謝! –
真棒:)將它標記爲正確的答案,然後呢? :) – iHiD
完成,對不起,我是新:) –