如何用javascript发送和接收HTTP请求

How to send and receive HTTP requests in javascript

本文关键字:HTTP 请求 何用 javascript      更新时间:2023-09-26

我正在尝试从客户端javascript发送HTTP请求,并以HTML格式整齐地显示所有响应(标题、内容、附加文本等)。

除此之外,我还想编写javascript,当有人访问网页时,它会发送特定的响应。例如,如果我想在有人访问example.com/test时发送402(需要付款),我该如何在客户端javascript中完成?

这里有一个简单的javascript片段,用于发出请求并打印响应,

function createHttpObject() {
     try {return new XMLHttpRequest();}
     catch (error) {}
     try {return new ActiveXObject("Msxml2.XMLHTTP");}
     catch (error) {}
     try {return new ActiveXObject("Microsoft.XMLHTTP");}
     catch (error) {}
     throw new Error("Could not create HTTP request object.");
}
var request = new createHttpObject();
request.open("GET", "url", true);
request.send(null);
print(request.responseText);

编辑:为旧版本的internet explorer添加了不兼容包装。
XMLHttpRequest对象提供了允许您进行web请求的功能。
这里,在open中,第一个参数指定使用哪个HTTP方法来处理您的请求。可以指定的值有GET、PUT、POST和DELETE。在这种情况下,我们对接收信息感兴趣,所以我们指定的第一个参数将是GET。最后一个参数是指定请求是否异步,true指定它是异步的。
send函数发送请求,参数指定要随请求一起发送的数据。对于get,它为空。

您可以使用Ajax发送HTTP请求并接收其响应。

我喜欢使用Jquery Ajax-http://api.jquery.com/jquery.ajax/

它很简单,可以在中找到很多帮助

我正在尝试从客户端javascript和以HTML格式整齐地显示所有响应(标题、内容、附加文本等)。

对于此任务,请使用jQuery.post()

除此之外,我还想编写javascript当有人访问网页时的特定响应。例如,如果我想在有人来访时发送402(需要付款)example.com/test,如何在客户端javascript中进行测试?

JavaScript仅在客户端运行。如果你想在服务器端使用JavaScript,我建议你使用Node.js。但在服务器端没有必要使用js,因为有很多服务器脚本和编程语言。您可以使用JavaEE、PHP、Perl和Python来实现您想要的功能。

现在,对于您的逻辑,您必须首先有一个关于用户的安全会话。如果没有,他们必须登录。这就是你需要数据库的地方。我还强烈建议您在与数据库交互时使用准备好的语句。

这是一个使用Jquery进行HTTP获取请求的示例:

    $.ajax({
    url: '/api/...', //here is your URL
    type: 'GET',
    success: function(data) {
       //the data here is the response data 
    },
    error: function(e) {
    }
});

您也可以使用这个:

https://github.com/floscodes/JS/blob/master/Requests.js

您可以轻松地发送http请求。只需使用:

HttpRequest("https://example.com", method="post", data="yourkey=yourdata");

就是这样!即使站点受到CSRF保护,它也应该起作用。

或者只需使用发送GET请求

HttpRequest("https://example.com", method="get");