Tag: ajax

为什么我得到空的结果?

我正在学习JavaScript&Ajax&NodeJs。 我试图build立一个网页,显示从服务器的string。 服务器代码: var express = require('express'); var app = express(); app.get('/sms', function (req, res) { console.log("Got request: " + req); res.send('Hello World'); console.log("Send result"); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("Listening at http://%s:%s", host, port) }) 客户代码: <html> <head> <title> Test AJAX </title> </head> […]

成功的POST请求未决

我正在使用node.js构build一个应用程序。 我的一个页面调用POST请求来发送数据到我的数据库。 POST请求成功,并且数据将其发送到我的数据库,但是当我检查请求的状态(Chrome开发工具>networking)时,它将POST请求的状态显示为“挂起”。 有谁知道这可能是为什么? 这是我的POST请求: $.ajax({ url: "/addreport/ + data.projectId", type: "POST", data: data, success: function() { alert("Thank you for subscribing!"); }, error: function() { alert("There was an error. Try again please!"); } }); 这对我来说很重要,因为我需要成功callback来告诉用户POST请求成功。 提前致谢!

ajax用json,nodejs和webpack返回401

我正在用Adobe分析API构build一个Web应用程序,并且本地一切工作正常。 当我部署到服务器本地存储的JSON(即存储在与应用程序相同的服务器)的提取返回状态代码401.我已经加倍检查文件path,它是正确的。 我不想使用webpack的json-loader,因为它会在编译时parsingjson,并且根据用户在运行时所做的操作,所加载的json文件将会有所不同。 任何帮助/build议将不胜感激

发送到节点/快递服务器的数组的访问值

让我开始说我是一个新手/黑客。 答案可能很简单…我提前道歉。 我通过jquery $ .ajax(POST)发送一个对象到运行express的Node.js服务器。 在进行Ajax调用之前,对象在我的服务器上看起来像这样: var data = { "to" : "someone@abc.com", "attachment" : [{"file": "somefile.jpg"}, {"file": "someOtherFile.jpg"}] } 这是对我的服务器的呼叫: $.ajax({ type: "POST", url: "http://myHostHere.com", data: data, success: function(data){ console.log("Success… Returned Data: " + data); } }); 在我的节点服务器上,这里是接受请求的路由: app.post('/send/', urlEncodeParser, function(req, res){ console.log("Req Body: " + JSON.stringify(req.body)); }); urlEncodeParser中间件引用了这个代码: let urlEncodeParser = bodyParser.urlencoded({ extended:false […]

用于客户端 – 服务器通信和安全的api-key

我需要一些build议。 我想build立一个JS应用程序,将在客户端浏览器上运行,并与我的服务器与Ajax通信。 问题是我想给这个客户端一些API密钥,所以我可以在我的服务器上授权。 安全明智的问题,因为只要这个关键是通过ajax调用发送,任何人都可以复制此调用。 我不想问客户端创build一些代理服务器,并“请求”。 我希望它是直接从客户端到我的服务器。 除了通过他的IP或域来validation客户,最佳做法是什么?

Express.js res.render不redirect,只显示在控制台中

这次我想用res.render来显示html作为数据库更新的成功。 我做了好几次,但这次不起作用。 它不是呈现HTML文件,只是显示在Chrome的控制台上。 我认为这是由于asynchronous问题或重复响应造成的。 我尝试了很多方法,但我无法解决,所以指针赞赏。 代码与用户付费服务有关,增加用户级别。 获取访问令牌=>validation=> res.render app.post('/payment/validate', function(req, res, next){ // Get access token request.post({ url : 'https://payment-company/get/token' }, function(err, response, body) { if(!err & response.statusCode == 200) { var result = JSON.parse(body); var accessToken = result.response.access_token; // Validate payment (compare paid and would be paid) request.get({ headers : { 'Authorization' : accessToken […]

我是否需要使用Ajax来不被视为机器人?

tl; dr:有人能指出我在正确的方向复制通过Ajax在Chrome扩展中抓取网页…但在node.js? 我想采取相关的教程,但不知道从哪里开始。 == ==目标 作为教自己编码的一种方法,我构build了一个node.js应用程序来拉我的Goodreads.com书单( 使用Goodreads的API ),然后search旧金山公共图书馆的Overdrive目录(一个不包含在Goodreads的API)。 我对第二部分有挑战。 我正在使用Chrome扩展程序Goodreads( https://github.com/rhollister/goodreads )作为指导,而且我正在取得进展 – 上周,我学到了所有有关正则expression式(令人沮丧的有趣)。 == ==问题 当我使用http.request(library_search_url)时,该站点将返回一个警告:“访问此function已针对networking机器人禁用”。 看扩展代码,似乎他们在后台窗口中使用Ajax来刮页面。 == ==问题 我试图根据这里的一些研究来改变我的要求(例如, Node不能刮取某些页面 ),但是这并不奏效。 我是否需要学习expression,并做这样的事情( http://mherman.org/blog/2013/10/20/handling-ajax-calls-with-node-dot-js-and-express-scraping-craigslist/ )为了达到我想要的? 如果不是这样,我还有其他的方法可以学习吗? (注:我不是在寻找代码本身 – 只是一个方向,所以我可以去学习我需要学习的东西。) 谢谢! 对于上下文,下面是使我认为这是基于Ajax的抓取的代码: $.ajax({ url: url, success: parseODResults(bookSearchTerms, l, libraryShortName, libraryStr, library.newDesign, searchTerm, url), error: function(request, status, error) { if (sender) { chrome.tabs.sendMessage(sender.tab.id, { type: 'FROM_AG_EXTENSION' […]

发送表单数据到节点服务器

我正试图发送一些表单数据到一个端点。 这是我的客户端代码: <form name="form" action="http://localhost:8080/geodata" method="post"> <label for="minlat"> MinLat: </label> <input type="text" name="MinLat" value="0"><br> <label for="maxlat"> MaxLat: </label> <input type="text" name="MaxLat" value="1"><br> <label for="minlong"> MinLong: </label> <input type="text" name="MinLong" value="0"><br> <label for="maxlong"> MaxLong: </label> <input type="text" name="MaxLong" value="1"><br> <button type="submit" class="btn btn-success"> Submit <span class="fa fa-arrow-right"></span></button> </form> <script> $(document).ready(function() { $("#form") .submit(function(event) { var formData […]

通过ajax和url更新页面而不重新加载页面(node.js)

什么是正确的方式来进行清单更新,而无需刷新页面,并通过button事件和URL访问。 所以,当url参数ID是基于路线,它会更新到特定的页面。 就像购物网站上的产品页面一样。 下面的工作通过ajax请求,但不通过url(库存/ 2)它只需要我的发布的数据,而不是渲染的视图。 我需要它能够通过url去特定的页面,所以我可以链接到它。 当javascript未启用时,还需要能够回退到标准页面加载。 查看(库存) extends layout block content div.row div.col-md-offset-2.col-md-8#inventory a(class='btn', href='#') Get More! script. $(function(){ $("a.btn").on("click", function(e) { e.preventDefault(); $.get( '/inventory/2', function(data) { $('#inventory').html(data); }); }); }); 路线 router.get('/inventory/:id?', function (req, res) { if(req.params.id){ var id = req.params.id; var data = "Updated and now on page " + id res.send(data); […]

如何在node.js + ajax中向用户发送自定义错误消息

有人可以帮助我通过ajax从服务器发送到客户端的错误信息? 例如,如果我的服务器端返回一个404错误,我希望它也发送一个自定义的消息:“有问题” server.js api.get('/api/some_route', function(req, res, next) { res.sendStatus(404, 'something is wrong'); }); client.js $.ajax({ type: "POST", data: data, success: function(data, status) { console.log(status); }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus) //returns error console.log(errorThrown) //returns bad request //I want to someohow print the 'something is wrong' message from the api } }); 提前致谢!