最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

純javascript的ajax實(shí)現(xiàn)php異步提交表單的簡單實(shí)例

 更新時(shí)間:2016年05月25日 11:49:50   投稿:jingxian  
下面小編就為大家?guī)硪黄僯avascript的ajax實(shí)現(xiàn)php異步提交表單的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

很多時(shí)候需要異步提交表單,當(dāng)表單太多是時(shí)候,一個(gè)個(gè)getElementById變得很不實(shí)際

當(dāng)然,jquery可以實(shí)現(xiàn)異步提交表單,jquery.form.js這個(gè)庫貌似也挺流行

只是有時(shí)候并不想使用額外的庫,所以就琢磨著自己寫,用純js來實(shí)現(xiàn)異步提交表單

實(shí)現(xiàn)如下(本例用POST方式提交,用php作為服務(wù)器腳本)

HTM L文件:test

<html>
<head>
  <script type="text/javascript" src="name_form.js"></script>
</head>
<body>
  <form action="process.php" id="ajax_form">
    Username:<input type="text" name="username" id="username"/><br>
    <input type="button" onclick="submitForm('name_form')" value="Submit">
  </form>
  <div id="tip"></div>
</body>
</html>

JS文件:name_form.js

function createXmlHttp() {
  var xmlHttp = null;
   
  try {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  } catch (e) {
    //IE
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
   
  return xmlHttp;
}
 
function submitForm(formId) {
  var xmlHttp = createXmlHttp();
  if(!xmlHttp) {
    alert("您的瀏覽器不支持AJAX!");
    return 0;
  }
  
  var url = 'test.php';
  var postData = "";
  postData = "username=" + document.getElementById('username').value;
  postData += "t=" + Math.random();
  
  xmlHttp.open("POST", url, true);
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.onreadystatechange = function() {
    if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
      if(xmlHttp.responseText == '1') {
        alert('post successed');
      }
    }
  }
  xmlHttp.send(postData);
}

PHP文件:test.php

<?php
  if(isset($_POST['username']) {
    echo '1';
  }
?>

上面程序的原理是,首先用戶用過在test.html文件中輸入用戶名信息,然后通過name_form.js文件進(jìn)行ajax實(shí)現(xiàn)提交表單,然后在php文件中進(jìn)行操作,此處只是判斷用戶名是否被設(shè)定,也就是說用戶名是否存在,存在則輸出1;另外,也可以對(duì)數(shù)據(jù)庫進(jìn)行操作(增,改等),然后判斷操作結(jié)果,如果結(jié)果為真則輸出1,在js文件中的xmlHttp.responseText中判斷返回的信息,因?yàn)橹皇禽敵?,所以判斷正確,此時(shí)彈出提示框,內(nèi)容是'post successed'。這樣就成功實(shí)現(xiàn)了用ajax實(shí)現(xiàn)php異步提交表單。

注:要保證php文件echo之前沒有任何的輸出,這樣ajax才能準(zhǔn)確地獲取返回的信息。

以上這篇純javascript的ajax實(shí)現(xiàn)php異步提交表單的簡單實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決AJAX請(qǐng)求中含有數(shù)組的辦法

    解決AJAX請(qǐng)求中含有數(shù)組的辦法

    這篇文章主要給大家介紹了如何解決AJAX請(qǐng)求中含有數(shù)組的問題,文中給出了詳細(xì)的示例代碼,相信對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面跟著小編一起來看看吧。
    2016-12-12
  • ajax跳轉(zhuǎn)到新的jsp頁面的方法

    ajax跳轉(zhuǎn)到新的jsp頁面的方法

    這篇文章主要介紹了ajax跳轉(zhuǎn)到新的jsp頁面的方法,在不刷新整個(gè)頁面的情況下更新頁面的局部信息,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • ajax中的async屬性值之同步和異步及同步和異步區(qū)別

    ajax中的async屬性值之同步和異步及同步和異步區(qū)別

    在Jquery中ajax方法中async用于控制同步和異步,當(dāng)async值為true時(shí)是異步請(qǐng)求,當(dāng)async值為fase時(shí)是同步請(qǐng)求。ajax中async這個(gè)屬性,用于控制請(qǐng)求數(shù)據(jù)的方式,默認(rèn)是true,即默認(rèn)以異步的方式請(qǐng)求數(shù)據(jù)。
    2015-10-10
  • 表單上傳功能實(shí)現(xiàn) ajax文件異步上傳

    表單上傳功能實(shí)現(xiàn) ajax文件異步上傳

    這篇文章主要為大家詳細(xì)介紹了表單上傳功能和文件上傳功能實(shí)現(xiàn),ajax文件異步上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • IE下Ajax提交亂碼的快速解決方法

    IE下Ajax提交亂碼的快速解決方法

    下面小編就為大家?guī)硪黄狪E下Ajax提交亂碼的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-08-08
  • AJAXRequest v0.2

    AJAXRequest v0.2

    AJAXRequest v0.2...
    2006-12-12
  • AJAX集天氣\IP\多國語言翻譯MP3(可同步LRC歌詞顯示)\萬年歷查詢通

    AJAX集天氣\IP\多國語言翻譯MP3(可同步LRC歌詞顯示)\萬年歷查詢通

    AJAX集天氣\IP\多國語言翻譯MP3(可同步LRC歌詞顯示)\萬年歷查詢通...
    2007-09-09
  • Lavarel框架中使用ajax提交表單的方法

    Lavarel框架中使用ajax提交表單的方法

    因?yàn)閘aravel以post形式提交數(shù)據(jù)時(shí)候需要加{{csrf_field()}}防止跨站攻擊,下面通過本文給大家分享lavarel框架中使用ajax提交表單的方法,一起看看吧
    2016-12-12
  • 使用AJAX進(jìn)行WEB應(yīng)用程序開發(fā)的方法

    使用AJAX進(jìn)行WEB應(yīng)用程序開發(fā)的方法

    AJAX,一個(gè)異步JavaScript和XML的縮略詞,是最近出來的技術(shù)詞語。異步意味著你可以經(jīng)由超文本傳輸協(xié)議(HTTP)向一個(gè)服務(wù)器發(fā)出請(qǐng)求并且在等待該響應(yīng)時(shí)繼續(xù)處理另外的數(shù)據(jù)。
    2010-04-04
  • Ajax傳遞特殊字符的數(shù)據(jù)如何解決

    Ajax傳遞特殊字符的數(shù)據(jù)如何解決

    這篇文章給大家介紹了Ajax傳遞的數(shù)據(jù)包含特殊字符時(shí)的解決方法,需要的朋友參考下吧
    2017-06-06

最新評(píng)論

苍溪县| 宁陕县| 翼城县| 淳化县| 霍邱县| 长沙市| 朝阳区| 荔浦县| 靖宇县| 文成县| 景洪市| 河间市| 乐陵市| 舟曲县| 洛阳市| 阿克陶县| 饶平县| 新绛县| 南昌县| 分宜县| 宁海县| 若尔盖县| 安塞县| 蒙山县| 汤阴县| 神池县| 谢通门县| 长宁区| 普兰县| 津南区| 庄浪县| 新晃| 崇礼县| 南江县| 中方县| 迁安市| 南宁市| 安图县| 资阳市| 嘉荫县| 荔浦县|