nasıl node.js jQuery ile ajax çağrıları kullanmak için
Bu Stream data with Node.js ama bu soruya yeterince cevap hissetmiyorum benzer.
JQuery ajax çağrısı (olsun, yük, getJSON) bir sayfa ve node.js bir sunucu arasında veri aktarımı için kullanmaya çalışıyorum. Benim tarayıcıdan Adres vurdu ve 'Merhaba Dünya!", ama benim sayfadan bu çalıştığınızda, başarısız olur ve hiçbir tepki döndüğüm gösteriyor. Basit bir test ve bu test için örnek sayfa Merhaba Dünya: Kur
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>get test</title>
</head>
<body>
<h1>Get Test</h1>
<div id="test"></div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>
$(document).ready(function() {
//alert($('h1').length);
$('#test').load('http://192.168.1.103:8124/');
//$.get('http://192.168.1.103:8124/', function(data) {
// alert(data);
//});
});
</script>
</body>
</html>
ve
var http = require('http');
http.createServer(function (req, res) {
console.log('request received');
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8124);
CEVAP
Eğer basit bir test sayfasında yer alan diğer protokol/etki alanı/port daha Merhaba Dünya node.js örnek yapıyorsun etki alanları arası istekleri ve ihlal same origin policy Bu nedenle jQuery ajax çağrıları (ve yük) başarısız sessizce. Bu çalışma çapraz etki alanı JSONP temel biçimi kullanmalısınız. Örneğin node.js kod:
var http = require('http');
http.createServer(function (req, res) {
console.log('request received');
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('_testcb(\'{"message": "Hello world!"}\')');
}).listen(8124);
ve istemci tarafı/jQuery JavaScript:
$(document).ready(function() {
$.ajax({
url: 'http://192.168.1.103:8124/',
dataType: "jsonp",
jsonpCallback: "_testcb",
cache: false,
timeout: 5000,
success: function(data) {
$("#test").append(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert('error ' textStatus " " errorThrown);
}
});
});
Ayrıca bu çalışma, örneğin reverse proxy kurarak veya web uygulama tamamen express gibi çerçeve ile inşa etmek için nasıl başka yolları da var.
Nasıl jQuery Ajax çağrısından sonra bi...
Nasıl, asenkron yerine senkron AJAX is...
Nasıl bir WordPress kullanmak yapmadan...
Nasıl FormData nesneleri göndermek içi...
Nasıl sunucu uygulamalarına ve Ajax ku...