Skip to content

Instantly share code, notes, and snippets.

@mdobson
Last active August 29, 2015 13:56
Show Gist options
  • Save mdobson/9316585 to your computer and use it in GitHub Desktop.
Save mdobson/9316585 to your computer and use it in GitHub Desktop.
html argo submission
<!DOCTYPE html>
<html>
<head>
<title>Argo Sample</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(document).ready(function() {
$("#go").on("click", function() {
var uname = $("#uname").val();
var city = $("#city").val();
$.ajax({method:'POST',url:"http://localhost:3000/js/item", data:"uname="+uname+"&city="+city, crossDomain:true}, function() {
alert("Successful");
});
});
});
</script>
</head>
<body>
<h4>Insert Item from an HTML form</h4>
<form action="http://localhost:3000/item" method="POST">
<input type="text" name="uname" placeholder="uname" />
<br/>
<input type="text" name="city" placeholder="city" />
<br/>
<input type="submit" placeholder="Go"/>
</form>
<h4>Insert Item from JS</h4>
<form>
<input type="text" name="uname" id="uname" placeholder="uname" />
<br/>
<input type="text" name="city" id="city" placeholder="city" />
<br/>
<input type="button" id="go" value="Go"/>
</form>
</body>
</html>
var argo = require('argo');
var router = require('argo-url-router');
var ug = require('usergrid');
var qs = require('querystring');
var c = new ug.client({
orgName: 'mtraining',
appName: 'sandbox'
});
argo()
.use(router)
.post('/html/item', function(handle) {
handle('request', function(env, next) {
env.request.getBody(function(err, body) {
if(err) {
console.log('body error:',err);
next(env);
} else {
body = body.toString();
var qsObj = qs.parse(body);
var entityOpts = {
type:'test',
uname: qsObj.uname,
city: qsObj.city
};
c.createEntity(entityOpts, function(err, entity, data) {
if(err) {
console.log('ug error:', err);
next(env);
} else {
env.response.statusCode = 302;
env.response.setHeader('Location', 'http://localhost:8000/index.html');
next(env);
}
});
}
});
});
})
.post('/js/item', function(handle) {
handle('request', function(env, next) {
env.response.setHeader('Access-Control-Allow-Origin', '*');
env.request.getBody(function(err, body) {
if(err) {
console.log('body error:',err);
next(env);
} else {
body = body.toString();
var qsObj = qs.parse(body);
var entityOpts = {
type:'test',
uname: qsObj.uname,
city: qsObj.city
};
c.createEntity(entityOpts, function(err, entity, data) {
if(err) {
console.log('ug error:', err);
next(env);
} else {
//Success message where we let the client know the resource was indeed created but no data is returned.
env.response.statusCode = 201;
next(env);
}
});
}
});
});
})
.listen(3000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment