>  기사  >  웹 프론트엔드  >  Database_jquery를 업데이트하는 Ajax 비동기 새로 고침

Database_jquery를 업데이트하는 Ajax 비동기 새로 고침

WBOY
WBOY원래의
2016-05-16 17:47:382540검색

이전 글은 인터페이스에 관한 내용이었습니다. 다음에는 새로 고치지 않고 데이터베이스에 데이터를 쓰는 방법에 대해 쓰겠습니다.

한 사람 또는 몇 사람의 특정 점수를 변경하면 새로 고침 없이 데이터베이스에 기록될 수 있습니다.
먼저 XMLHttpRequest 개체를 선언해야 합니다.

코드 복사 코드는 다음과 같습니다.

// XMLHttpRequest 객체 선언
var xmlHttp;
function createXMLHTTP() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest(); //Mozilla 브라우저
else if (window.ActiveXObject) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP") //IE의 이전 버전
}
catch (e)
{ }
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE의 새 버전
}
catch (e)
{ }
if ( !xmlHttp) {
window.alert("XMLHttpRequest 객체 인스턴스를 생성할 수 없습니다!");
return false
}
}
}

동시에 수정 성공 여부를 확인하기 위해 콜백 함수가 필요합니다

코드 복사 코드는 다음과 같습니다.
//기록 콜백 함수 업데이트 또는 추가 (점수 성공 여부 확인)
function ModifyScore ()
{
if (xmlHttp.readyState == 4)
{
// if (xmlHttp.status == 200)
{
if (xmlHttp.responseText == "true")
{
}
else
{
// Alert("평가에 실패했습니다. 다시 평가하거나 관리자에게 문의하세요." )
}
}
}
}

준비가 완료되면 다음을 수행합니다. 핵심 단계는 다음과 같습니다.
점수를 수정할 때 작성해야 하기 때문에 데이터베이스에 들어가므로 위에서 언급한 대로 드롭다운 상자 값(선택한 항목을 반복할 때)을 변경하려면 이 코드만 실행하면 됩니다. 이전 블로그:

코드 복사 코드는 다음과 같습니다.
//상호 가져오기 리뷰 ID
var criticsID = checkbox[i].value;
//수정된 값을 데이터베이스에 쓰기
//프로젝트 점수 가져오기
var ScoreAll = document.getElementById("score" checkbox [i].value srcElem.id "");
var accessAllScore = ScoreAll.outerText;
//프로젝트 번호 가져오기
var Assessment = document.getElementById("assess" srcElem.id); 🎜>var AssessmentID = Assessment.title;
createXMLHTTP(); //XMLHttpRequest 객체 생성
//다른 A 페이지로 데이터 전송
var url = "CriticsAgainAjax.aspx?criticsID " &assessID=" 평가ID "&accessAllScore=" accessAllScore "&Event=allCriticsInfo";
xmlHttp.open("Post", url, true);
// xmlHttp.setRequestHeader("Content-Type","application/x -www-form-urlencoded");
xmlHttp.onreadystatechange = AnswerOneKindQuestion;
xmlHttp.send(null);


마지막으로 CriticsAgainAjax.aspx에서 매개변수만 가져오면 됩니다. 데이터베이스에 쓰기


//매개변수 가져오기
if(Request.QueryString["Event"].ToString() == "allCriticsInfo")
{
string criticsID = Request.QueryString["criticsID"].ToString()
string AssessmentID = Request.QueryString["assessID"].ToString();
string accessAllScore =Request.QueryString["accessAllScore"].ToString( )
}


매개변수 이후 통과되면 데이터베이스에 쓰기가 매우 쉽기 때문에 여기서는 언급하지 않겠습니다.
이런 방식으로 포그라운드에 표시되는 효과는 새로 고침이 없으며 데이터가 수시로 데이터베이스에 기록된다는 것입니다. 모든 더러운 작업을 CriticsAgainAjax.aspx 페이지에 맡기십시오. 이는 또한 좋은 분업이기도 합니다.
덜 상쾌할 뿐만 아니라 이 글을 작성하는 또 다른 장점은 ajax가 비동기 작업이라는 것입니다. 즉, 데이터가 js 페이지의 CriticsAgainAjax.aspx에 던져진 후에 CriticsAgainAjax.aspx 여부를 고려하지 않고 계속 실행됩니다. , 던져지는 데 100개의 데이터가 필요할 수 있고, 데이터베이스에 쓰는 데 3초가 걸리며, 던져 넣는 시간은 아마도 수십 분의 1초에 불과할 정도로 매우 빠르므로 사용자는 기분이 매우 좋으며 계속하기로 선택한 후 반나절을 기다릴 필요가 없습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.