ajax学習ノート2
第2の方法:XMLデータオブジェクトのDOMオブジェクトがajax学習ノート1において既にアライメントされている作業と必要な知識について、XMLデータオブジェクトのresponseXMLを受け入れる方法について詳しく説明する、本節では主に修正が必要なコードおよび新規のコード1について説明する.servletクラスを追加
AJAXXMLServer.java
2.webを修正する.xml AJAXXXXMLServerクラスの構成を追加
3.verifyを修正する.jsファイルの最初の場所:xmlhttp.open("GET","AJAXServer?name="+username,true); xmlhttpに変更します.open("GET","AJAXXMLServer?name="+username,true);//responseXML方式,修正类名第2处:
変更後:
3つ目:
text/html
変更後:
IEブラウザの場合は3番目に修正しないとエラーは報告されませんが、firefoxブラウザの場合、ここで修正しないと、以下の文はvar domObj=xmlhttpとエラーが報告されます.responseXML; alert文を追加して検証することで、IEブラウザのときに3番目に修正されたコードのif文は実行されず、firefoxブラウザのときにこのif文が実行される説明:アクセスパス、実行スクリーンショット、ajax学習ノート1ではすでに、省略されています.
AJAXXMLServer.java
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;
//XML
public class AJAXXMLServer extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
//response.setContentType("text/html;charset=utf-8");
response.setContentType("text/xml;charset=utf-8"); // text/xml
PrintWriter out=response.getWriter();
//1.
String old=request.getParameter("name");
StringBuffer sb=new StringBuffer();
sb.append("<message>");
//2.
if(old==null||old.length()==0){
sb.append(" ").append("</message>"); // XML
}else{
//3.
String name=old;
if(name.equals("pan")){
//4. 。 , // ,
sb.append(" ["+name+"] ").append("</message>"); // XML
}else{
sb.append(" ["+name+"] ").append("</message>"); // XML
}
}
out.println(sb.toString());// , ,
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request,response);
}
}
2.webを修正する.xml AJAXXXXMLServerクラスの構成を追加
<servlet>
<servlet-name>AJAXXMLServer</servlet-name>
<servlet-class>AJAXXMLServer</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AJAXXMLServer</servlet-name>
<url-pattern>/AJAXXMLServer</url-pattern>
</servlet-mapping>
3.verifyを修正する.jsファイルの最初の場所:xmlhttp.open("GET","AJAXServer?name="+username,true); xmlhttpに変更します.open("GET","AJAXXMLServer?name="+username,true);//responseXML方式,修正类名第2处:
responseText //
// :
var responseText=xmlhttp.responseText;
// dom div
var divNode=document.getElementById("result");
// html
divNode.innerHTML=responseText;
変更後:
3つ目:
text/html
if(xmlhttp.overrideMimeType){ xmlhttp.overrideMimeType("text/html"); }
変更後:
if(xmlhttp.overrideMimeType){ xmlhttp.overrideMimeType("text/xml");//XML }
IEブラウザの場合は3番目に修正しないとエラーは報告されませんが、firefoxブラウザの場合、ここで修正しないと、以下の文はvar domObj=xmlhttpとエラーが報告されます.responseXML; alert文を追加して検証することで、IEブラウザのときに3番目に修正されたコードのif文は実行されず、firefoxブラウザのときにこのif文が実行される説明:アクセスパス、実行スクリーンショット、ajax学習ノート1ではすでに、省略されています.