[英]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.