婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Boa服務器下的ajax與cgi通信

Boa服務器下的ajax與cgi通信

熱門標簽:超級大富翁地圖標注 ai機器人電銷資源 地圖標注項目怎么樣 云呼外撥網絡電話系統 個人怎樣在百度地圖標注地名 越南河內地圖標注 騰訊地圖標注位置能用多久 機器人電銷騙局揭秘 硅語電話機器人公司

最近在最有做一個嵌入式課程設計,要求是利用基于cortax a8的物聯網實驗箱做一個簡單的嵌入式網頁交互系統作為課程設計來驗收評分。因為本身自己是學前端的,所以網頁部分并不是重點,主要是和boa服務器之間的通信,課程實驗給的例子是直接使用printf來打印html標簽形成新的頁面,有過前端開發經驗的人都知道這種做法效率低下而且沒有辦法實現異步刷新,所以博主采用ajax來進行boa服務器下的異步通信。

主要實現及踩過的坑如下:

1. get 還是 post請求:怎么發請求參見W3School上的ajax教程

推薦一般人沒有前端基礎的人使用get請求,因為只需要在請求的參數做一個字符串拼接就可以完成基本的ajax請求,具體實現可以參照一下這個網址(http://blog.csdn.net/huguohu2006/article/details/7755107),接下來重點講一下post請求,優勢這里我就不多講了,前面的教程里面都有,主要講一下實現方式:

function sender(url, data) {
var xhr = createXHR();
if (xhr) {
xhr.onreadystatechange = function() {
if (xhr.readyState == 4  xhr.status == 200) {
console.log(xhr.responseText);
console.log(xhr.responseText.toString());
var returnValue = xhr.responseText.toString();
console.log(returnValue);
return returnValue;
// firefox下xhr.responseText作為返回值失效的問題
// ie可以利用return來得到值。但firefox則不能,只能在readyState == 4  status == 200時處理一個函數
// 這個函數應當作為一個參數傳遞入函數。有個奇怪現象你如果去除紅線部分的注釋,firefox又可以取到值。
// 估計是firefox使用ajax取值有個延時造成。
//return xhr.responseText.toString();
}
};
xhr.open("post", url, true);
// send(string) 僅適用于post請求
xhr.send(data);
} else {
//XMLHttpRequest對象創建失敗
alert("瀏覽器不支持,請更換瀏覽器!");
}
}

利用調用sender函數來實現ajax,函數的兩個參數分別是請求的url和要發送的數據,注意post請求只能發送string類型的數據。如果要發送其他類型的數據建議采用jquery封裝的ajax方法,這里之所以采用原生的ajax方法來發送數據主要有以下幾個原因:

•jquery庫的體積比較大,有可能mount進開發箱上的linux系統時出現失敗的情況,這種情況可以通過mount u盤的方式解決 mount u盤的命令如下: mount -r /dev/uba4 /web -r為mount進文件的讀寫權限,具體可執行搜索查詢,uba4為U盤在linux系統上顯示的名字,web為目標文件夾,使用U盤掛載的缺點在于整個U盤的文件會全部被復制到目標文件夾中,有點綴余

•發送的數據不很多,也沒有其他的類型要求,使用string類型完全可以滿足開發需求,沒必要引入jquery庫增加項目空間

•原生的ajax可以更好地解釋http請求的原理

下面再介紹一下cgi文件對http請求的處理,示例函如下:

#include stdlib.h>
#include stdio.h>
#include string.h>
char* get_cgi_data(FILE* fp, char* method)
{
char* input;
int len;
int size=1024;
int i=0;
if (strcmp(method, "GET") == 0) /** GET method */
{
input = getenv("QUERY_STRING");
return input;
}
else if (strcmp(method, "POST") == 0) /** POST method */
{
len = atoi(getenv("CONTENT_LENGTH"));
input = (char*)malloc(sizeof(char) * (size+1));
if (len == 0)
{
input[0] = '\0';
return input;
}
while (1)
{
input[i] = (char)fgetc(fp);
if (i == size)
{
input[i+1] = '\0';
return input;
}
--len;
if (feof(fp) || (!(len)))
{
i++;
input[i] = '\0';
return input;
}
i++;
}
}
return NULL;
}
int main(void)
{
char* input;
char* method;
char name[64];
char passwd[64];
int i=0;
int j=0;
printf("Content-type:text/html\n\n");
printf("The following is query result:");
method = getenv("REQUEST_METHOD");
input = get_cgi_data(stdin, method);
printf("string is: %s", input);
return 0;
}

上面包含了c語言處理兩種請求的方法,get請求比較簡單,直接使用getenv("QUERY_STRING")就可以獲取到請求發送的數據,post請求的處理則比較負責,先獲取請求內容長度,然后根據長度來動態分配一個等長的字符串空間,將發送的數據傳給字符串,然后再根據自己項目的需要進行相應的處理即可。

PS:發送http請求時對應的成功程序printf之后就是http請求接受到的相應,也就是對應的xhr的responseText屬性值,另外.c文件需要理由arn-linux-gcc -o helloworld.cgi helloworld.c命名交叉編譯得到對應的.cgi文件。然后博主用的是在每一次請求成功之后繼續發送下一次請求,因為如果直接使用setInterval函數進行循環請求傳感器數據的話會產生比較大的延時,基本等同于進程,如果直接通過文件存儲傳感器數據的方式則可以使用setInterval函數。

以上所述是小編給大家介紹的Boa服務器下的ajax與cgi通信的全部敘述,希望對大家有所幫助,如果大家想了解更多內容敬請關注腳本之家!

您可能感興趣的文章:
  • 模擬jQuery ajax服務器端與客戶端通信的代碼
  • Ajax 通過城市名獲取數據(全國天氣預報API)
  • 通過數據庫和ajax方法寫出地圖的實例代碼
  • 在Thinkphp中使用ajax實現無刷新分頁的方法
  • jQuery中ajax的4種常用請求方式介紹
  • jstree創建無限分級樹的方法【基于ajax動態創建子節點】
  • Ajax與服務器(JSON)通信實例代碼

標簽:內蒙古 遼源 林芝 洛陽 邢臺 鄭州 舟山 海南

巨人網絡通訊聲明:本文標題《Boa服務器下的ajax與cgi通信》,本文關鍵詞  Boa,服務器,下,的,ajax,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Boa服務器下的ajax與cgi通信》相關的同類信息!
  • 本頁收集關于Boa服務器下的ajax與cgi通信的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久国产日韩欧美精品| 亚洲婷婷国产精品电影人久久| 91亚洲国产成人精品一区二三 | 懂色av一区二区夜夜嗨| 国产精选一区二区三区| 久久99精品一区二区三区三区| 亚洲bt欧美bt精品777| 亚洲一卡二卡三卡四卡五卡| 亚洲综合免费观看高清在线观看| 一卡二卡三卡日韩欧美| 亚洲123区在线观看| 天天色综合天天| 日本一不卡视频| 精品一区二区三区久久久| 国产九色精品成人porny| 国内精品伊人久久久久av一坑| 国产中文字幕精品| av在线这里只有精品| 色综合久久久久综合99| 欧美日韩久久久一区| 精品国产乱码久久久久久闺蜜| 国产亚洲精品精华液| 亚洲色图欧洲色图| 日本美女视频一区二区| 国产成人精品影视| 欧美亚洲国产怡红院影院| 欧美一级日韩不卡播放免费| 久久久精品国产免大香伊| 亚洲欧洲一区二区三区| 日韩黄色免费电影| 成人免费视频网站在线观看| 欧美视频一区二区| 精品福利一区二区三区免费视频| 1024成人网| 狠狠色丁香久久婷婷综| 在线观看精品一区| 国产午夜精品理论片a级大结局| 日韩一区日韩二区| 伦理电影国产精品| 欧美自拍丝袜亚洲| 久久九九影视网| 三级久久三级久久久| 成人高清视频在线| 欧美成人精品3d动漫h| 136国产福利精品导航| 国产一区二区三区免费看| 欧美三级视频在线观看| 中文字幕中文字幕一区二区| 久久精品国产亚洲一区二区三区| 91视频91自| 国产亚洲欧美中文| 久久99精品久久久久久国产越南| 色老头久久综合| 日本一区二区高清| 精品伊人久久久久7777人| 欧美男同性恋视频网站| 亚洲欧美一区二区三区国产精品| 国产精品亚洲午夜一区二区三区| 欧美久久久久免费| 亚洲成人激情av| 色综合视频一区二区三区高清| 国产色91在线| 国产麻豆午夜三级精品| 欧美精品一区二区在线观看| 首页国产欧美日韩丝袜| 欧美日韩一区二区三区视频| 一区二区三区**美女毛片| 97久久精品人人做人人爽50路| 国产精品免费看片| 成人av电影免费在线播放| 久久在线免费观看| 国内精品久久久久影院色| 精品免费国产二区三区 | 中文字幕免费一区| 国产91精品欧美| 久久精品欧美一区二区三区不卡 | 日韩区在线观看| 麻豆成人综合网| 日韩一级片网站| 韩国女主播成人在线观看| 精品99久久久久久| 国产成人免费高清| 中文在线资源观看网站视频免费不卡| 国产91精品在线观看| 日本一区二区三区四区 | 欧美电影免费观看高清完整版在 | 91精品啪在线观看国产60岁| 日韩精品电影在线观看| 日韩精品最新网址| 粉嫩av一区二区三区| 中文字幕一区二| 欧美日韩一区二区不卡| 男女性色大片免费观看一区二区| 欧美大胆一级视频| 粉嫩aⅴ一区二区三区四区五区| 国产精品久久久久9999吃药| 色婷婷精品大在线视频| 蜜臀91精品一区二区三区| 久久精品一区二区三区四区| 色婷婷国产精品| 日韩av中文字幕一区二区三区| 久久九九久久九九| 日本韩国欧美国产| 久久国产精品99久久人人澡| 一区二区三区国产精华| 视频一区二区三区中文字幕| 欧美刺激脚交jootjob| 丰满白嫩尤物一区二区| 亚洲亚洲人成综合网络| 日韩欧美一级片| 91丨porny丨国产入口| 日韩电影免费在线看| 国产亚洲精品bt天堂精选| 欧美性猛交xxxxxx富婆| 国产高清久久久| 午夜精品久久久久久久久久| 国产三级精品三级| 日韩一区二区中文字幕| 91蝌蚪porny九色| 国产激情精品久久久第一区二区 | 久久99精品国产91久久来源| 亚洲免费观看高清完整| 精品国产人成亚洲区| 欧美日韩美少妇| 成人av免费在线观看| 久久se这里有精品| 亚洲午夜久久久| 中文字幕在线不卡视频| 久久免费看少妇高潮| 日韩一区二区三区精品视频| 欧美视频一区二区| 日本韩国欧美一区| 99久久er热在这里只有精品66| 国产在线播放一区二区三区| 三级成人在线视频| 亚洲高清免费一级二级三级| 中文字幕一区二区三区乱码在线| 国产喂奶挤奶一区二区三区| 精品日韩成人av| 精品久久久久香蕉网| 日韩欧美在线网站| 欧美丰满美乳xxx高潮www| 色成年激情久久综合| 色天天综合久久久久综合片| av亚洲精华国产精华| 成人综合婷婷国产精品久久免费| 国产一区二区三区| 国产99久久久久久免费看农村| 激情五月婷婷综合网| 久久爱www久久做| 黄一区二区三区| 狠狠色狠狠色综合| 国产成人在线网站| 成人毛片老司机大片| 91丨porny丨蝌蚪视频| 日本精品视频一区二区| 欧美自拍偷拍一区| 欧美日韩免费高清一区色橹橹| 欧美色图天堂网| 3atv一区二区三区| 欧美videofree性高清杂交| 久久综合色8888| 国产日韩欧美亚洲| 亚洲激情六月丁香| 亚洲国产色一区| 热久久久久久久| 国产精品99久久久久久宅男| 99久久精品国产观看| 欧美日韩精品一区二区| 欧美精品久久天天躁| 久久久99精品免费观看| 一区二区视频免费在线观看| 男人的天堂亚洲一区| 懂色av一区二区三区蜜臀| 一本色道a无线码一区v| 91精品国产91久久久久久最新毛片| 精品美女在线播放| 亚洲第一久久影院| 国产精品一区二区三区网站| 色综合天天综合网国产成人综合天 | 欧美aaa在线| 国产美女视频一区| 91福利小视频| 久久网这里都是精品| 一区二区久久久久久| 国产在线观看一区二区| 欧美亚洲免费在线一区| 精品国产乱码久久久久久免费 | 欧美日韩一区二区三区高清| 精品sm在线观看| 午夜一区二区三区视频| 国产高清无密码一区二区三区| 欧美日韩一区二区在线视频| 中文一区在线播放| 性久久久久久久久| aaa国产一区| 久久久精品国产免大香伊| 日韩在线播放一区二区| 97精品久久久午夜一区二区三区 | 欧美videossexotv100|