可能的重复项:
使用 jQuery 将表单数据转换为 JS 对象
我需要将我的用户登录到外部网站,但有一个问题,这个网站只处理 json-data POST 值,例如 {"用户名":"用户","密码":"12345"}
<form action="https://external.com/login" method="POST">
<input name="username" value="user" />
<input name="password" value="12345" />
<input type="submit" />
</form>
以上只发送平均键=值数据,如何使用 POST json 数据到外部 https?
下面是一个简单的 jquery 示例,使用 jQuery.ajax()
.HTML:
<form action="https://external.com/login" method="POST" onsubmit="return postJson(this)">
<input name="username" value="user" />
<input name="password" value="12345" />
<input type="submit" />
</form>
JQ:
function postJson(form) {
var action = $(form).attr('action');
var user = $('[name="username"]', form).val();
var pass = $('[name="password"]', form).val();
console.log('action=' + action + ', user=' + user + ', pass=' + pass);
$.ajax({
url: action,
type: 'POST',
data: JSON.stringify({ username: user, password: pass }),
success: function(data, status) {
// do something after login
console.log('success');
},
error: function() {
console.log('error');
}
});
return false;
}
JSFiddle