|
If you want to access everything in the order it is stored in as HTML, use
document.querySelector("html") to get the root html element of the document, and then use the .children array of any element to see what's inside it.
|
|
|
|
|
The req.isAuthenticated() of api.js function always returns false whether or not the user is logged in or not. Thus user is redirected to /#login at all times. I have not yet connected to MongoDB so it's just the javascript and nodejs part. I am testing my code on advanced rest client.
I tried a few solutions which suggested using cookies but it doesn't seem to work. I know there already exists a lot of answers to this question and I have tried nearly most of the answers on stack overflow but somehow nothing seems to work. I don't know what I am missing out on. I am stuck on this for a long time ao any kind of help is highly appreciated.
app.js (main file):
var http_errors = require('http-errors');
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var passport = require('passport');
var session = require('express-session');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var api = require('./routes/api');
var authenticate = require('./routes/authenticate')(passport);
var app = express();
app.use(cookieParser('super duper secret'));
app.use(session({
secret: 'super duper secret',
resave: true,
saveUninitialized: true
}));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use(passport.initialize());
app.use(passport.session());
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
app.use('/api', api);
app.use('/auth', authenticate);
var initPassport = require('./passport-init');
initPassport(passport);
module.exports = app;
Routing files:-
api.js:
var express = require('express');
var router = express.Router();
router.use(function(req, res, next){
if(req.method === "GET"){
return next();
}
if (!req.isAuthenticated()){
return res.redirect('/#login');
}
return next();
});
router.route('/posts')
.get(function(req, res){
res.send({message: 'TODO return all posts'});
})
.post(function(req, res){
res.send({message: 'TODO create a new post'});
})
module.exports = router;
authenticate.js:
var express = require('express');
var router = express.Router();
module.exports = function(passport){
router.get('/success', function(req, res){
res.send({state: 'success', user: req.user ? req.user : null});
})
router.get('/failure', function(req, res){
res.send({state: 'failure', user: null, message: "Invalid username or password"});
})
router.post('/login', passport.authenticate('login', {
successRedirect: '/auth/success',
failureRedirect: '/auth/failure'
}))
router.post('/signup', passport.authenticate('signup', {
successRedirect: '/auth/success',
failureRedirect: '/auth/failure'
}))
router.get('/signout', function(req, res) {
req.logout();
res.redirect('/');
});
return router;
}
passport-init.js (file that exploits passport module):
var LocalStrategy = require('passport-local').Strategy;
var bCrypt = require('bcrypt-nodejs');
var users = {};
module.exports = function(passport){
passport.serializeUser(function(user, done) {
console.log('serializing user:',user.username)
return done(null, user.username);
})
passport.deserializeUser(function(username, done) {
User.findById(username, function(err, user){
return done(err,users[username]);
})
})
passport.use('login', new LocalStrategy({
passReqToCallback : true
},
function(req, username, password, done) {
if(!users[username]){
return done('user not found',false);
}
if(!isValidPassword (users[username],password)){
return done('invalid password', false);
}
console.log('sucessfully logged in')
return done(null, users[username]);
}
))
passport.use('signup', new LocalStrategy({
passReqToCallback : true
},
function(req, username, password, done) {
if(users[username]){
return done('username already taken', false);
}
users[username] = {
username: username,
password: createHash(password)
}
console.log('sucessfully signed in')
console.log(users[username])
return done(null, users[username]);
}
))
var isValidPassword = function(user, password){
return bCrypt.compareSync(password, user.password);
}
var createHash = function(password){
return bCrypt.hashSync(password, bCrypt.genSaltSync(10), null);
}
};
|
|
|
|
|
Hi..currently i am doing my final year project about parental monitoring and control application system using android studio.. I need to create an apps that can help parents monitor their children..an apps that can block all the website that contain adult scene, monitor and view all the activities from social media.. Do you have any suggestion about it? Thank you.I need to notify parents if the children try to search prohibited website.Then the parents can immediately block that website.
|
|
|
|
|
I am trying to figure out why this output is correct. It because var result = ""; is a string?
var result = " ";
var i = 0;
do {
i += 1;
result = result + i;
} while (i < 5);
document.write(result);
|
|
|
|
|
|
You are simply appending the numbers behind empty string repeatedly
|
|
|
|
|
Hi,
I have cshtml file in which there is jquery code, some of which is toggling in and out so that I will have better readability of the code. But some other code is not not toggling in and out. I don't know the reason, but if we can minimize the code that's not important to read at that time we can have better readability of the code.
When I searched online, it was said that Ctl+M+H would make it, yes it did make it but the problem is, when I closed the Visual Studio and opened it, all the toggles I set were lost, is there any way I can keep those toggles to my script permanently because I have to read through all the code for any change that I have to make, please I am also searching but if anybody knows it already please help me.
Any help would be very very helpful, thanks in advance.
Thanks,
Abdul Aleem
"There is already enough hatred in the world lets spread love, compassion and affection."
-- modified 28-Mar-18 14:36pm.
|
|
|
|
|
Demo
How to increase font size of output image.
ctx.font = '90px Arial' doesn't seem to work
|
|
|
|
|
Your demo link is broken - it should be Edit fiddle - JSFiddle[^].
Several things to change:
- Change the
height attribute on the canvas tag to 90 ; - Change the textBaseline[^] to
top ; - Remove the line which sets the canvas width;
Updated demo[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
I am using two different checkbox list.
When I submit the form with some checkbox checked, then how I can get the value of unchecked box also?
Example:
<input type="checkbox" name="cars[]" value="Volvo" /> ✓
<input type="checkbox" name="cars[]" value="BME" />
<input type="checkbox" name="cars[]" value="Ferari" /> ✓
<input type="checkbox" name="bikes[]" value="Honda" />
<input type="checkbox" name="bikes[]" value="Bajaj" /> ✓
<input type="checkbox" name="bikes[]" value="Yamaha" />
I want like this:
cars[0]='Volvo'; bikes[0]='';
cars[1]=''; bikes[1]='Bajaj';
cars[2]='Ferari'; bikes[2]='';
but result is:
cars[0]='Volvo'; bikes[0]='Bajaj';
cars[1]='Ferari';
|
|
|
|
|
Un-checked checkboxes do not submit anything to the server. That's just how HTML works.
If you know the list of values, you can probably write some code to build the list as you want it. But there's no way to get that output directly from the collection of posted values.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
It's a bit hacky but it works
<input type="checkbox" name="cars[0]" value="Volvo" />
<input type="checkbox" name="cars[1]" value="BME" />
<input type="checkbox" name="cars[2]" value="Ferari" />
<input type="checkbox" name="bikes[0]" value="Honda" />
<input type="checkbox" name="bikes[1]" value="Bajaj" />
<input type="checkbox" name="bikes[2]" value="Yamaha" />
<input type="hidden" name="cars[0]" value="Volvo" />
<input type="hidden" name="cars[1]" value="BME" />
<input type="hidden" name="cars[2]" value="Ferari" />
<input type="hidden" name="bikes[0]" value="Honda" />
<input type="hidden" name="bikes[1]" value="Bajaj" />
<input type="hidden" name="bikes[2]" value="Yamaha" />
If "Volvo" is checked cars[0] is "Volvo,Volvo" and if it isn't it is just "Volvo"
|
|
|
|
|
ASP.NET MVC does something similar with the CheckBox / CheckBoxFor helpers:
// Render an additional <input type="hidden".../> for checkboxes. This
// addresses scenarios where unchecked checkboxes are not sent in the request.
// Sending a hidden input makes it possible to know that the checkbox was present
// on the page when the request was submitted.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
You don't think I come up with these great ideas myself do you?
|
|
|
|
|
Hello All,
Using toggleClass and hasClass in javascript to toggle between 'SelectAll' and 'DeselectAll', to control the checkboxes. 'SelectAll' would check all the checkboxes, and 'DeselectAll' would deselect them all at once. This works fine in my development environment, but in staging server, the button does not invoke any action. It does nothing.
How does one go about debugging another environment, which does not have VS installed?
I have pasted a snippet - thank you!
Hide Copy Code
script type="text/javascript">
$(function () {
$("#SelectAll").click(function () {
var $this = $(this);
$this.toggleClass('SelectAll');
if ($this.hasClass('SelectAll')) {
$this.text('DeselectAll');
$this.val('DeselectAll');
var ischecked = true;
} else {
$this.text('SelectAll');
$this.val('SelectAll');
var ischecked = false;
}
});
});
</script>
|
|
|
|
|
|
Thank you so much for those suggestions. I used the browsers(IE 11) developer tools. The id is "SelectAll". Also using alert, saw that the length of
$("#SelectAll").length
is 1.
|
|
|
|
|
Try adding an alert("Click!"); at the start of the function to make sure it's being called.
Is the button causing the page to post back to the server? You might need to prevent the default action from happening:
$("#SelectAll").click(function (e) {
e.preventDefault();
...
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
The message does get printed, so it does get into the function.
While playing around with the developer tools, I noticed this tag.
NPUT name=btnSubmit class=SelectAll id=SelectAll type=button value=SelectAll jQuery15108903458030820801="5">
Upon removal of the weird
jQuery15108903458030820801 tag, the buttons are now toggling.
how does this get added?
Many thanks!!
|
|
|
|
|
I've never seen anything like that being added automatically. There must be some other part of your code that's adding it.
Also, I'd expect to see quotes around those attribute values:
<input name="btnSubmit" class="SelectAll" id="SelectAll" type="button" value="SelectAll">
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
VK19 wrote: jQuery15108903458030820801 That gets added by jquery, I believe. I've seen it many times. But in no way should that fix your problem. Something else seems to be going on.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
Okay so while I was copying some scripts on the internet to try. I notice the output says
"There is no Javascript in the current document"... What does it mean?
|
|
|
|
|
It means there is no Javascript in the current document.
|
|
|
|
|
|
What does ".then" mean in JavaScript?
Consider this snippet of code:
<pre lang="Javascript">
return ajaxService.request('post', 'api/{ticketId}/alt-forms/getSatelliteMapUrl', geoCodedata, { failureMessage: 'Failed to Geocode SatMap/PDF'})
.then(function (satelliteMapData, data) {
</pre>
Is the ".then" comment attached immediately to the previous "return" statement? If so, how? If not, then would the functionality of this JavaScript bit not be impacted if I put an "alert" statement immediately before the ".then" statement and immediately after the "return" statement?
|
|
|
|