㈠ js函數裡面只要寫$.ajax函數會無法執行,去掉$.ajax函數就可以執行,jquery ajax文件已引入
可以在jquery的ajax方法成功執行之後,執行相應的js代碼
例如:index.html 頁面
<script language="javascript">
var id = 10;
$.ajax({
url:'ajax.php?action=ok',
type:'post',
data:'id='+id,
async : false,
success: function(data){
//可以在這里執行相應的js代碼
$("#user_id").val(data);
}
});
</script>
<input type="text" name="user" id="user_id" value="">
<input type="button" value="點擊" onclick="check();">
ajax.php 處理頁面
<?php
if($_GET['action'] == 'ok'){
$id = $_POST['id'];
echo $id;
}
?>
㈡ 怎樣注銷由Ajax載入的js方法
你沒有申明 query 變數 ! s.js ------------- var t, d; function timer() { d = new Date(); t = d.getSeconds(); $("b").html(t); } var query = setInterval(timer, 1000); 頁面 -------------------- <script src="/jquery-1.4.2.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { $("#load").click(function() { $.getScript("/s.js") }); $("#dispose").click(function() { clearInterval(query); $("b").html("") }); }); </script>
㈢ 如何取消/放棄jQuery的AJAX請求
1. $.ajax返回的數據類型是XMLHttpRequest,請參考手冊。($.post、$.get、$.getJSON、$.getScript也同樣)
2. XMLHttpRequest對象有abort()方法
可以自己手動去調用abort方法:
<script src = "jquery-1.7.2.js"></script>
<script>
var xhr = $.ajax({type:'POST',
url:'b.php',
data:'',
success:function(){
alert('ok');
}
})
</script>
<button id="song">abort</button>
<script>
$(function(){
$("#song").click(function(){
alert('click');
xhr.abort();
})
})
</script>
㈣ 如何取消ajax請求的回調
我們在開發過程中有時候會碰到這樣的需求,連續發送多個ajax請求,請求個數大於等於2,後面的ajax請求發送時,如果前面的ajax請求還沒有返回,就取消前面ajax請求回調的執行。
在繼續後面的內容之前,先同步一個概念,文中所說的取消ajax的請求,指的是取消ajax請求的回調函數,ajax的請求發送後,這個請求我們是阻止不了的,但是可以取消其回調的執行。
舉個簡單的例子,你潑了一盆水,水已經潑出去了,水離開盆之後是阻止不了的,但是可以阻止潑出去的後果,比方說你潑了產品經理一盆水,趕緊跑就不會被打到。
接下來,看一下原生js如何處理ajax請求的取消,原生js利用的是XMLhttprequest實例的一個叫做abort的方法,看一下官方文檔的代碼:
var xhr = new XMLHttpRequest(), method = "GET", url = "/"; xhr.onreadystatechange = () => { if(xhr.readyState===4&&xhr.status===200){ console.log('ok') } } xhr.open(method, url, true); xhr.send(); xhr.abort();
我們在瀏覽器中調試代碼,在調用abort之後,onreadystatechange會被執行,但是滿足readystate=4和status=200的情況就不會出現了。
官方文檔提到,xhr調用abort之後,readyState 會被重置為0,readyState變化會觸發onreadystatechange函數,而readyState已經被重置為0,此時用戶定義的回調函數就不會執行了。
我個人感覺不同的瀏覽器實現機制可能不一樣。我們需要了解的是,ajax請求發送後,在回調調用之前,調用abort,這個ajax的回調就不會被執行了。
以上便是原生js如何處理取消ajax請求回調的原理了。
㈤ 在js中如何調用後台方法,不要用ajax和jquery。
<%=getpage()%>
後台已存在getpage()方法
㈥ js ajax如何終止之前的請求
XMLHttpRequest對象有abort()方法 ,調用abort來終止
假設之前的ajax定義var ajax = new XMLHttpRequest();
調用 ajax.abort()
㈦ JS禁用了,頁面上的AJAX還起作用嗎
肯定不起作用了,ajax 是 js 的一部分
話說現在幾乎不會禁止 js 吧?
㈧ JQuery.ajax 如何取消非同步載入
代碼如下,
$.ajax(
{
type: "POST",
contentType: "application/json",
dataType: 'json',
success: function(result) {
//這里是Code
},
error: function(result, status) {
}
});
要想組織函數在code區繼續執行,只能通過設置變數來控制,如下
設一個JS的全局變數STOPIT,初始值為FLASE.
在BUTTON的點擊事件里設此變數為真。
在AJAX的回調函數的開頭加上:
$.ajax(
{
type: "POST",
contentType: "application/json",
dataType: 'json',
success: function(result) {
if(STOPIT) return;//此處阻止函數執行。
},
error: function(result, status) {
}
});
㈨ 禁用js以後 ajax還能正確執行嗎
不能...AJAX本來就是用JS來寫的,除非你寫在服務端