为了学习 node.js,我构建了一个非常简单的留言簿应用程序。基本上只有一个评论表和一个以前的评论列表。目前,该应用仅在客户端运行,项目存储在本地存储中。
我想要做的是将项目发送到我将使用 Mongo DB 保存它们的 Node 。
问题是我还没有找到建立连接以使用 POST 请求在客户端和 node.js 之间来回发送数据的方法。
在服务器端我为请求添加了监听器并等待数据:
request.addListener('data', function(chunk) {
console.log("Received POST data chunk '"+ chunk + "'.");
});
在客户端,我使用简单的 AJAX 请求发送数据:
$.ajax({
url: '/',
type: 'post',
dataType: 'json',
data: 'test'
})
目前这根本不起作用。可能是我不知道在 AJAX 请求“url”参数中放置什么 url。或者整个事情可能只是使用错误的方法构建。
我也尝试过实现描述的方法 here , 但也没有成功。
如果任何人都可以分享一些关于如何使这项工作(将 POST 请求从客户端发送到 Node 并返回)的技巧或分享任何好的教程,那将非常有帮助。谢谢。
最佳答案
我刚刚创建了你想尝试的 skiliton,只是客户端和服务器之间的 json 数据连接,它工作正常,你可以查看下面的代码
服务器端:
var http = require("http");
var url = require("url");
var path = require("path");
var ServerIP = '127.0.0.1',
port = '8080';
var Server = http.createServer(function (request , response) {
console.log("Request Recieved" + request.url);
var SampleJsonData = JSON.stringify([{"ElementName":"ElementValue"}]);
response.end('_testcb(' + SampleJsonData + ')'); // this is the postbackmethod
});
Server.listen(port, ServerIP, function () {
console.log("Listening..." + ServerIP + ":" + port);
});
客户端:
jQuery.ajax({
type: 'GET',
url: 'http://127.0.0.1:8080/',
async: false,
contentType: "text/plain", // this is the content type sent from client to server
dataType: "jsonp",
jsonpCallback: '_testcb',
cache: false,
timeout: 5000,
success: function (data) {
},
error: function (jqXHR, textStatus, errorThrown) {
alert('error ' + textStatus + " " + errorThrown);
}
});
}
function _testcb(data) {
//write your code here to loop on json data recieved from server
}
关于javascript - 从客户端发送 post 请求到 node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13342466/
是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou
我知道您通常应该在Rails中使用新建/创建和编辑/更新之间的链接,但我有一个情况需要其他东西。无论如何我可以实现同样的连接吗?我有一个模型表单,我希望它发布数据(类似于新View如何发布到创建操作)。这是我的表格prohibitedthisjobfrombeingsaved: 最佳答案 使用:url选项。=form_for@job,:url=>company_path,:html=>{:method=>:post/:put} 关于ruby-on-rails-rails:Howtomak
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法
rails中是否有任何规定允许站点的所有AJAXPOST请求在没有authenticity_token的情况下通过?我有一个调用Controller方法的JqueryPOSTajax调用,但我没有在其中放置任何真实性代码,但调用成功。我的ApplicationController确实有'request_forgery_protection'并且我已经改变了config.action_controller.consider_all_requests_local在我的environments/development.rb中为false我还搜索了我的代码以确保我没有重载ajaxSend来发送
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=
s=Socket.new(Socket::AF_INET,Socket::SOCK_STREAM,0)s.connect(Socket.pack_sockaddr_in('port','hostname'))ssl=OpenSSL::SSL::SSLSocket.new(s,sslcert)ssl.connect从这里开始,如果ssl连接和底层套接字仍然是ESTABLISHED,或者它是否在默认值7200之后进入CLOSE_WAIT,我想检查一个线程几秒钟甚至更糟的是在实际上不需要.write()或.read()的情况下关闭。是用select()、IO.select()还是其他方法完成
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
我是Ruby的新手。我试过查看在线文档,但没有找到任何有效的方法。我想在以下HTTP请求botget_response()和get()中包含一个用户代理。有人可以指出我正确的方向吗?#PreliminarycheckthatProggitisupcheck=Net::HTTP.get_response(URI.parse(proggit_url))ifcheck.code!="200"puts"ErrorcontactingProggit"returnend#Attempttogetthejsonresponse=Net::HTTP.get(URI.parse(proggit_url)