3 回答

TA貢獻1725條經驗 獲得超8個贊
$.ajax({
type:POST,//提交方式 url:"ftt_logchk.asp", data:{‘a’:1.'b':2}//你給后臺傳的數據為a和b后面跟的就是他兩的值(這里就是傳數據給后臺?。。。。。。?br/>success: function(data){//這里的data就是你后臺返回的值,沒有就算了(前提是成功才會執行) } error: function(){//這里是報錯后就會執行!??!你可以彈出友好提示! alert("我報錯了,好好檢查"); } } })

TA貢獻1887條經驗 獲得超5個贊
首先你的這個實現邏輯就有問題,怎么可能會想到用for 去做n次ajax提交呢,你得知道你現在上面寫的這種ajax提交方式為異步方式,何為異步,就是當ajax請求發出后當前邏輯就認為你的這次請求完成了,當前邏輯會繼續往下執行而不會去管你的這個ajax請求是否執行完并成功返回的,如你for了10次,那么for只會管執行10個ajax提交,因為ajax是異步方式,所以你在for里面無法控制你的這10次ajax是否都正常的執行并返回的,這10次ajax提交的返回是無序的。所以一般都不會用這樣的邏輯來處理問題,如果實在非得要用這種邏輯,那么得將ajax請求方式改成同步方式,即將async:false 改成 async:true,這樣就可能如你的預期,一個ajax執行完正常返回后才行下一個ajax,
==================================================================
哦,那是我記錯咯,如果你實在要用這種實現邏輯的話,我倒建議你不要這么寫,類似下面這種寫法應該好處理些的:
for (var i=0; i<9; i++)
{
var post_data = new Array('rand':new Date().getMilliseconds())
var post_retn = eval('('+ $.ajax({type:'post', data:post_data, url:'xxxxx&rand=' + new Date().getMilliseconds(), async:false}).responseText +')');
alert(post_retn);
}
添加回答
舉報