0
私はajax XMLHttpRequestを使用してC++ .cgiファイルにアクセスするHTMLページを持っています。私はHTMLから.cgiに渡す値を取得しており、「成功」または「失敗」メッセージを取得する必要があります。これが私の目標です。XMLHttpRequest ajaxを使用してcgi CppからHTMLに値を戻す方法は?
私のHTMLコード:
<!DOCTYPE html>
<html>
<head>
<script type = "text/javascript">
var XMLHttp;
if(navigator.appName == "Microsoft Internet Explorer") {
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else {
XMLHttp = new XMLHttpRequest();
}
function getresponse() {
var fanme = document.getElementById('fname').value ;
var postData;
postData += fname;
XMLHttp.open("POST", "ajaxtry.cgi", true);
XMLHttp.onreadystatechange = function() {
document.getElementById('response_area').innerHTML = XMLHttp.responseText;
}
// Set the appropriate HTTP request headers
XMLHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLHttp.setRequestHeader("Content-length", postData.length);
// Make request
XMLHttp.send(postData);
}
</script>
<h1>Sample application</h1>
First Names(s)<input onkeyup = "javascript: getresponse()" id="fname">
<div id = "response_area">
</div>
</body>
</html>
とCPPの.cgiのファイル:一部のエンコード値:
#include <unistd.h>
#include <iostream>
#include <vector>
#include <string>
#include "cgicc/Cgicc.h"
#include "cgicc/HTTPHTMLHeader.h"
#include "cgicc/HTMLClasses.h"
#include <stdio.h>
#include <string.h>
using namespace std;
using namespace cgicc;
int main(int argc, char **argv)
{
Cgicc cgi;
try {
form_iterator fname = cgi.getElement("fname");
form_iterator sname = cgi.getElement("sname");
if(null != **fname)
{
cout<<"sucess";
}
else
cout<<"failed";
}
catch(exception& e) { }
return 0 ;
}
私のような出力を取得しています
ELF>�@@@[email protected] @ @@@@@��[email protected]@@@�� ��`�`�@ ��`�`[email protected]@DDP�td��@�@LLQ�tdR�td��`�`((/lib64/ld-linux-x86-64.so.2GNU GNUMh���N��N틟����~��0!P
私は得ることができない理由成功または失敗したメッセージをDivの内部HTMLに戻しますか?何かが足りない?助言がありますか ?
ありがとう..itが動作しています – user2986042