javascript - Respond to an AJAX request in express -
how send response ajax request , redirecting user without showing him response?
i have been able send data server wasn't able send response javascript file , redirecting user.
if remove redirect(302, '/'), can see json result on browser want send data ajax request , redirect.
routes
var express = require('express'); var url = require('.././models/first.js'); var router = express.router(); router.get('/', function(req,res) { res.render('index'); res.end(); }) router.post('/add',function(req,res) { var patt = /(www\.)?[-a-za-z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-za-z0-9@:%_\+.~#?&//=]*)/g; var url = req.body.url //this variable gets value if(patt.test(url) === false) { res.send({mes: 'invalid'}, res.redirect(302,'/')); // data doesn't reach file. } else { res.send({mes: 'okay'}, res.redirect(302,'/')); } }) module.exports = router; external/static javascript file
$(document).ready(function() { $('#urlform').submit(function(e) { var patt = /(www\.)?[-a-za-z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-za-z0-9@:%_\+.~#?&//=]*)/g; var url = $("#area").val(); $.ajax({ type: 'post', datatype: "jsonp", data: {url: url}, url: 'localhost:7000/add', success: function(data) { $('#url').text(data.url); } }) }) }) index.jade
extends ../public/layouts/default block content #onlydiv #onlydiv-inside p paste url below shorten form#urlform(action='/add', method='post') input#area(type='text' name='url', placeholder = 'www.facebook.com', autocomplete = 'off' required) input#button(type='submit') p#url
Comments
Post a Comment