可能重复:
jQuery:在ajax调用成功后返回数据
我写了一个脚本,在里面用一个select字段添加一个新的div容器.select字段的数据之前加载了ajax请求.但由于某种原因,只有当我使用alert()输出内容时,这些字段才可见.
var o = '';
$.ajax({
type: 'post',
dataType: 'json',
url: webroot + 'items',
success: function(data) {
$.each(data, function(index, value) {
o += '<option value="' + index + '">' + value + '</option>';
});
}
});
var l = parseInt($('.items .item').length);
var h = '<div class="item"><span class="bold">Item ' + (l + 1) + '</span><select id="ItemName" name="data[Item][name]">' + o + '</select></div>';
Run Code Online (Sandbox Code Playgroud)
我实际上不知道如何解决这个问题.你能帮助我吗?
我刚刚读完这篇关于 Javascript 模块的文章。我可以理解CommonJS模块是同步加载的,而AMD模块是异步加载的。
我不明白的是,如果我以 CommonJS 格式编写它,模块如何变得神奇地同步,或者如果我以AMD 格式编写它,它如何变得神奇地异步。我的意思是 javascript 甚至没有defineorrequire关键字。它们只是规范而不是库。
我的意思是模块加载的行为取决于模块加载器,而不是模块的结构。如果是这样的话,为什么要遵循不同类型模块的编码模式呢?
我是否正确地假设 NodeJS 世界中的所有库都是同步加载的,无论它们以什么格式编写。并且浏览器空间中的所有模块都是异步加载的。
如果我的上述假设是正确的,那么为什么还有 UMD 规范?我的意思是,如果脚本根据其所在的环境进行加载,那么为什么要制定通用模块加载规范呢?
有人可以帮我解决这个困惑吗?
我有一个问题,当我进行 ajax 调用时,在成功函数中我得到了 json 数据,我不能在成功函数中使用它
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
success: function (response) {
getData[name] = response;
}
});
alert(getData[name]);
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在 ajax 调用中使用 getData
我最近正在研究小型聊天模块,它需要不断检查服务器是否有新消息.
我正在向服务器发送ajax请求,服务器保持连接,直到找到新消息(长轮询).
代码:
var chatController = function(){
//other variable declaration
/**
* Ajax call to monitor the new message , on complete of ajax call sending other call
*/
this.checkNewMessage = function(){
console.log(this); // placed this for debugging purpose
$.ajax({
url : SITEURL.CHECK_MESSAGE,
data : this.currrentUserDetails,
dataType : 'json' ,
cache : false,
success :(function(obj){
//temp = obj;
return obj.parseNewMessageResponse;
})(this),
complete: (function(obj){
//temp = obj;
return obj.checkNewMessage;
})(this),
});
};
// other function and variable
});
Run Code Online (Sandbox Code Playgroud)
当我试着打电话的时候
var mainController …Run Code Online (Sandbox Code Playgroud) 我的问题是我的NodeJS应用程序的性能...
如果我的程序运行12次迭代,每次1.250.000 = 15.000.000次迭代 - 它需要亚马逊的专用服务器以下时间来处理:
r3.large:2个vCPU,6.5个ECU,15 GB内存 - > 123分钟
4.8xlarge:36个vCPU,132个ECU,60 GB内存 - > 102分钟
我在下面的代码中有一些代码similair ...
Run Code Online (Sandbox Code Playgroud)start(); start(){ for(var i=0; i<12; i++){ function2(); // Iterates over a collection - which contains data split up in intervals - by date intervals. This function is actually also recursive - due to the fact - that is run through the data many time (MAX 50-100 times) - due to different intervals sizes... } } function2(){ return new Promise{ for(var i=0; i<1.250.000; …
我最近正在学习这个强大的ORM 的所有规范,比如迁移表、定义模式、定义模型、关联、插入等。
我的特定问题是如何在 sequelize 中管理 Postgres 存储过程 (SP)?
我在我的服务器上使用 Node.js。
任何人都可以建议一种更好的方法来构建Promises的使用吗?我对Promises很新,我想知道我是否遗漏了一些关于如何构建这一系列事件的东西.
注意:我打算不在这里使用rej [ect].你看到guatanrees只有res [olve]返回.这意味着返回的代码只需要一个路径来处理返回的值.因此返回的代码在它的流程中更简单.
如果您不认识它,可能会有所帮助,这取自我创建的模块.把它想象成道.
module.exports = {
dbConnection: function () {
return { user: 'sa', password: 'mypassword', server: 'localhost', database: 'mydb' };
},
CanIConnectToTheDB: function () {
return new Promise(function (res, rej) {
var sql = require('mssql');
var myDao = require('./myDao');
var cn = new sql.ConnectionPool(myDao.dbConnection());
cn.connect().then(function () {
var req = new sql.Request(cn);
var qry = 'select serverproperty(\'productversion\') as \'rs\'';
req.query(qry)
.then(function (rs) {
qry = 'select isnull(object_id(\'SomeObjectIKnowExists\'), -1)';
req.query(qry)
.then(function (rss) {
res(' CONNECTED// MASTER DB SUCCESS// …Run Code Online (Sandbox Code Playgroud) 我试图根据其中的AJAX函数的响应将函数返回true或false,但我不知道该怎么做.
(function($) {
$('#example').ajaxForm({
beforeSubmit : function(arr, $form, options) {
var jsonStuff = JSON.stringify({ stuff: 'test' });
$.post('/echo/json/', { json: jsonStuff }, function(resp) {
if (resp.stuff !== $('#test').val()) {
// Cancel form submittion
alert('Need to type "test"');
return false; // This doesn't work
}
}, 'json');
},
success : function() {
alert('Form sent!');
}
});
})(jQuery);?
Run Code Online (Sandbox Code Playgroud)
我做了一个小提琴来更好地说明这一点:
http://jsfiddle.net/vengiss/3W5qe/
我正在使用jQuery和Malsup的Ajax Form插件,但我相信这个行为与插件无关,我只需要根据请求return false来处理beforeSubmit函数,POST这样每次都不会提交表单.有人能指出我正确的方向吗?
提前致谢!
这是一个javascript函数:
function getValue(key) {
var value;
switch(_options.myType){
case "cookie":
value = readFromCookie(key);
break;
case "localStorage":
value = readFromLocalStorage(key);
break;
case "db":
//return value from the server
// how do I wait for the result?
$.ajax({
type: "GET",
url: "123",
data: { .... },
success: function(data){
value = data;
}
});
break;
}
return value;
};
Run Code Online (Sandbox Code Playgroud)
在发送ajax请求的情况下,我需要等待直到ajax请求完成.我该怎么做?
并非我不能在没有计算值的情况下离开函数.这意味着我不能在success:处理程序中放置一个函数,以后会返回值(或者我可能不明白?).所以必须在函数内计算getValue().
UPDATE
PS那么如何重构我的代码才能在success:处理程序中使用回调?这是代码的第二部分:
MyClass123.prototype.myMethod = function(value) {
//..............
var var1 = this.getValue("key1");
if (var1 == …Run Code Online (Sandbox Code Playgroud) 我试图多次查询我的数据库并构建一个对象,该对象在一个字段中存储我的数据库的每个响应.这是我的代码:
router.post('/search', (req, res) => {
var collection = db.get().collection('styles')
var data = [];
collection.distinct('make.name', (err, docs) => {
data.push({'make': docs });
});
collection.distinct('model', (function (err, docs) {
data.push({'model': docs });
}))
res.send(data);
});
Run Code Online (Sandbox Code Playgroud)
由于NodeJS/Express是异步的,因此无法正常工作.如何重建此端点以进行多个数据库调用(来自同一个集合)并返回包含它的对象?
下面是使用async-waterfall方法的代码段.我怎么能用诺言转换这个.
async.waterfall([
function(callback){
User.update({username: user.username}, {$set: update_list}, function(err, a_user) {
if (err) {
err = new Error();
err.code = 400;
err.message = "Unexpected error occurred."
callback(err)
}
if (!a_user) {
err = new Error();
err.code = 400;
err.message = "User not found."
callback(err)
}else{
callback(null, "updated", user_image);
}
})
}, function(message, user_image, callback){
if(user_image == undefined){
callback(null, "done")
}else{
Bean.update({username: user.username, status:"Active"}, {$set: {user_image:user_image}},{multi:true},function(err, beanUpdated){
if(err){
err = new Error();
err.code = 400;
err.message = "Unexpected error occurred."
callback(err)
}else{ …Run Code Online (Sandbox Code Playgroud) javascript ×8
node.js ×6
ajax ×4
jquery ×4
promise ×2
asynchronous ×1
callback ×1
database ×1
es6-promise ×1
express ×1
memory ×1
nested-loops ×1
performance ×1
postgresql ×1
rest ×1
sequelize.js ×1
waterfall ×1