gpt4 book ai didi

javascript - XMLHttpRequest 和 C CGI...谁只发回一个字

转载 作者:行者123 更新时间:2023-11-30 17:20:15 24 4
gpt4 key购买 nike

我正在使用一个简单的表单进行测试,其中的脚本获取文本区域的值并将其发送到“sample.cgi”,现在,“sample.cgi”应该只发回我发送的文本对他来说……但是,我只回复了第一个词。我实在找不到问题所在。

这是代码:

<!DOCTYPE html>
<html>
<head>
<script>
function mytest() {

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {

if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
//If everything is ok show the output whit an alert
alert("This is the server answer: " + xhr.responseText);

}

};
var myText = document.getElementById("message").value;
//Request to "sample.cgi"
xhr.open("POST", "sample.cgi", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//Sending the data
xhr.send(myText);


}
</script>
</head>

<body>

<h2>MY TEST: </h2>
<form>
<textarea id="message">
</textarea>
<button type="button" onclick="mytest()">Request data</button>
</form>
</body>

</html>

sample.gci 代码:

#include <stdio.h>


int main(void)
{
printf("Content-Type: text/plain;\n\n");


char myText[1000];
//the data is sent by "POST" method, then we find it in stdin
fscanf(stdin,"%s", myText);
printf("%s",myText);

return 0;
}

提前致谢

最佳答案

非常感谢我使用 fgets 解决了!我没有想到“mytext”不是格式化数据。

我想问另一件小事,为什么当我更改我的C代码时没有得到任何结果:

int main(void)
{
printf("Content-Type: text/plain;\n\n");

FILE * pFile;
pFile = fopen ("sample.txt","w");
char myText[1000];
fgets(myText,1000, stdin);
fprintf(pFile, "%s\n",myText);
printf("We stored this text: %s",myText);
fclose(pFile);
return 0;
}

显然“xhr.onreadystatechange”甚至没有收到发送警报的正确条件。

非常感谢您的帮助!

关于javascript - XMLHttpRequest 和 C CGI...谁只发回一个字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28645260/

24 4 0