簡體   English   中英

ajax請求不顯示響應

[英]ajax request not displaying the response

我有一個nodejs應用程序,正在發送帶有標頭的響應application/json 客戶端正在發出http ajax請求,並獲得200 OK狀態。 我還能夠查看來自Rest Client的json響應。

但是我在UI上沒有看到任何響應。 請讓我知道我要去哪里了。

我的Firefox上的Firebug控制台:

Connection:keep-alive
Content-Length:30
Content-Type:application/json; charset=utf-8
Date:Wed, 15 Jun 2016 12:13:34 GMT
ETag:W/"1e-p2J1WXSidVD0/pV2ACqLcQ"
X-Powered-By:Express
Request Headers
view source

節點js代碼:

var express = require('express');
var app = express();
app.get('/button', function (req, res) {
  res.set('Content-Type', 'application/json');
  res.send('{"name":"<input type=button>"}');
  res.end("response sent");
})
var server = app.listen(8081, function () {
  var host = server.address().address
  var port = server.address().port
  console.log("Example app listening at http://%s:%s", host, port)
})

在客戶端:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Login Form</title>
  <script type="text/javascript" src="js/loginDemo.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
</head>
<body onload="loadPage()">
    <div id="loginForm">
    </div>
  </body>
</html>

在腳本方面:

$.get("http://172.28.88.28:8081/button",
function(data, status){
    alert("Data: " + data + "\nStatus: " + status);
}, function(err){
    alert('error > '+err);
});

同源策略-相信是您的問題...我在您的代碼中看到您正在使用端口8081,您的請求是否來自具有相同協議和相同端口(8081)的相同域? ... https://en.wikipedia.org/wiki/Same-origin_policy如果您不添加代碼以在ajax請求中顯示錯誤,則不會在網絡標簽中看到此錯誤,請嘗試...在您的代碼中:

// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', 'http://yourClientAddress:8081');

// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');

// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');

// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM