呼叫介面,把本地資料庫的資訊上傳到介面,呼叫完成后,想把本地資料庫里這條記錄的狀態更新為已上傳,請教下如何操作,謝謝。
以下update陳述句,有問題的,只要一打開這個上傳頁面,沒有點上傳按鈕,update陳述句就執行了,請問下這個是什么原因?
$.ajax({
type: "POST",
dataType: "text",
url: "https://www.baidu.com/ProjectService.asmx/CreateProject",
data:{"jsonStr":jsontr},
crossDomain:true==!(document.all),//IE10以下瀏覽器需 加上這句!!
success: function () {
alert("上傳成功:請檢查是否有上傳記錄!");
<%
sql="update [project] set status='已上傳' where id="&Request("id")
conn.Execute(sql)
%>
},
error: function () {
alert("上傳失敗:請聯系管理員確認!");
}
});
uj5u.com熱心網友回復:
這是有多復雜呀.建議你看看Promise. 你可以這樣寫:f1().then(f2);f1表示遠程更新函式, f2表示本地更新函式
uj5u.com熱心網友回復:
一篇Promise入門abc:Promise 物件. 若你有仔細看jquery檔案,檔案中也有介紹:deferred.promise()uj5u.com熱心網友回復:
jsp?吧跟新寫在service中,在這里呼叫他的方法uj5u.com熱心網友回復:
ajax發送請求默認是異步的,設定Ajax的方法引數async為false,success函式成功回傳后在進行更新sql陳述句即可uj5u.com熱心網友回復:
f1().then(f2);
uj5u.com熱心網友回復:
<%sql="update [project] set status='已上傳' where id="&Request("id")
conn.Execute(sql)
%>
這個代碼是java代碼,盡管你是放在success中的,但一進jsp頁面,它繪立即執行的,你應該是執行成功后,再呼叫 一個ajax的方法,在這個ajax的方法中,請求的url,去執行你的這段java代碼。這個url可能是servlet或jsp
uj5u.com熱心網友回復:
success 里面再加個ajax請求,然后寫執行sql陳述句的代碼轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/9126.html
標籤:Ajax
