JSONにするために使ったメソッド

sevialize()

form内の要素を文字列データにシリアライズするメソッド。



servializeArray()

FormやElementをJSON形式のデータ構造でシリアライズするメソッド。



stringify()

javascriptの値をJSON文字列に変換するメソッド。



<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>to json sample</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

</head> 
<body> 
<form action="/login" id="loginForm">
        <p>email:<input type="text" name="email" /></p>
    
    <p>pass:<input type="text" name="password" /></p>
    
    <input type="button" value="login" id="btn">
</form>

<script type="text/javascript">
$('#btn').click(function() {
    var $form = $('#loginForm');
    var data = $form.serializeArray(); //formをJSON構造でシリアライズ
    data = parseJson(data);

    $.ajax({
        type:'POST',
        url:'/salt/login',
        data:JSON.stringify(data), //JSONに変換
        scriptCharset:'utf-8',
        contentType:'application/json; charset=utf-8',
        dataType:'json'
    }).done(function(data) {
        next(data);
    });
});

var parseJson = function(data) {
    var returnJson = {};
    for (idx = 0; idx < data.length; idx++) {
        returnJson[data[idx].name] = data[idx].value;
    }
    return returnJson;
};


function next(response){
    window.location.href = response.url;
};
</script>

</body> 
</html>