Note that there are some explanatory texts on larger screens.

plurals
  1. PORails Devise Ajax call
    text
    copied!<p>I need to handle login with devise through an ajax call. Right now I have a devise login that is built with simple forms, what exists for devise is meant completely for the server side. the client side is built completely independently of ruby. The person on the client side needs to know how to send information through AJAX with the proper parameters to handle login and sign in.</p> <p></p> <p><strong>Edit</strong></p> <p></p> <p>My application.js no looks like this</p> <pre><code>// This is a manifest file that'll be compiled into including all the files listed below. // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically // be included in the compiled file accessible from http://example.com/assets/application.js // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // the compiled file. // //= require jquery //= require jquery_ujs //= require_tree . $(function(){ $.ajaxSetup({ beforeSend: function( xhr ) { var token = $('meta[name="csrf-token"]').attr('content'); if (token) xhr.setRequestHeader('X-CSRF-Token', token); } }); }); </code></pre> <p>and this is my post request</p> <pre><code>function signIn(email, password){ var data = {user: {email: email, password: password}}; $.ajax({ url: 'http://localhost:3000/users/sign_in.json', type: 'POST', dataType: 'json', data: data, success: function(data, textStatus, xhr) { alert('success'); alert(data); //to see what kind of outputs these have alert(textStatus); alert(xhr); //called when successful } }); } </code></pre> <p>this gives this in my rails console</p> <pre><code>Started POST "/users/sign_in.json" for 127.0.0.1 at 2011-12-08 12:30:06 -0500 Processing by SessionsController#create as JSON Parameters: {"user"=&gt;{"email"=&gt;"someone@hotmail.com", "password"=&gt;"[FILTERED]"}} WARNING: Can't verify CSRF token authenticity User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."email" = 'someone@hotmail.com' LIMIT 1 (0.3ms) UPDATE "users" SET "last_sign_in_at" = '2011-12-08 17:29:23.030686', "current_sign_in_at" = '2011-12-08 17:30:07.069479', "sign_in_count" = 11, "updated_at" = '2011-12-08 17:30:07.069864' WHERE "users"."id" = 16 Completed 201 Created in 144ms (Views: 2.1ms | ActiveRecord: 0.0ms) </code></pre> <p>and in my browser when i inspect element and go to the console i get</p> <pre><code>XMLHttpRequest cannot load http://localhost:3000/users/sign_in.json. Origin null is not allowed by Access-Control-Allow-Origin. </code></pre> <p>And none of my alerts show.</p> <p></p> <p>What do i need to change</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload