Javascript 如何在警报窗口中显示HTTP响应?

Javascript 如何在警报窗口中显示HTTP响应?,javascript,jquery,html,popup,response,Javascript,Jquery,Html,Popup,Response,在JavaScript中使用window.alert或alert显示JSON响应时遇到问题。我不是本地的JS编码员,对此我深表歉意。下面是我在网上找到的几个例子,我已经尝试过了 我的目标是让JSON响应出现在警报弹出窗口中 # example 1 <script type="text/javascript"> var client = new HttpClient(); client.get('https://website.com/json/', function(response

在JavaScript中使用
window.alert
alert
显示JSON响应时遇到问题。我不是本地的JS编码员,对此我深表歉意。下面是我在网上找到的几个例子,我已经尝试过了

我的目标是让JSON响应出现在警报弹出窗口中

# example 1
<script type="text/javascript">
var client = new HttpClient();
client.get('https://website.com/json/', function(response) {
    window.alert(response);
});
</script>

# example 2
$.get('https://website.com/json/', function(responseText) {
    alert(responseText);
});


# example 3
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
$.get('https://website.com/json/', function(responseText) {
    alert(responseText);
});
</script>

# example 4
var xhr = new XMLHttpRequest();
xhr.open('GET', "https://website.com/json/", true);
xhr.send();

xhr.onreadystatechange = processRequest;

function processRequest(e) {

}
#示例1
var client=新的HttpClient();
客户机。获取('https://website.com/json/,函数(响应){
窗口。警报(响应);
});
#例2
$.get('https://website.com/json/,函数(responseText){
警报(responseText);
});
#例3
$.get('https://website.com/json/,函数(responseText){
警报(responseText);
});
#例4
var xhr=new XMLHttpRequest();
xhr.open('GET',”https://website.com/json/“,对);
xhr.send();
xhr.onreadystatechange=processRequest;
函数processRequest(e){
}

我认为您遇到了cors错误(跨原点错误)。您应该根据第三方()服务器头正确设置请求头。

尝试在警报中显示对象时,它会显示[object object]。您的响应是JSON。将其字符串化,以便警报可以显示它

$.get('https://website.com/json/', function(responseText) {
    alert(JSON.stringify(responseText));
});

我在JSFIDLE上为您的场景创建了一个示例代码:

 $.ajax({
      url: "https://jsonplaceholder.typicode.com/posts/1/comments",
      type: "GET",
      dataType: "json",
      success: function(data){
        alert(JSON.stringify(data));
      } 
    });


我正在进行一个ajax调用,然后在字符串化之后提醒响应数据

我看到的第一个问题是url没有正确的响应

例如,您可以尝试以下链接: 或

我证明了你的例子4,它工作得很好

var xhr = new XMLHttpRequest();
xhr.open('GET', "https://jsonplaceholder.typicode.com/posts/1", true);
xhr.send();

xhr.onreadystatechange = processRequest;

function processRequest(e) {
   var response=JSON.stringify(e);
   alert(response);
}

您可以注意到,我将警报放在processRequest函数中,然后再显示它。我使用JSON.stringify将对象e更改为字符串。让我知道这对你是否有效

示例二使用
https://stackoverflow.com
。检查控制台是否有错误。从http或其他东西请求https时,您可能会收到跨源请求错误。假设您正在进行的跨域调用是到响应中包含CORS头的域(这有点不太可能),那么您所做的应该可以工作。为了帮助调试,我建议在发出任何请求后,首先检查控制台是否有错误(在浏览器中按F12应该会打开开发控制台)。另外,请使用
console.log()
而不是
alert()
。警告调试信息是个坏主意,因为它将所有数据类型强制为字符串,因此您看到的可能不是您实际拥有的。