我正在尝试发布一些 JSON,我需要在其中包含输入字段中的一些值。我有两个带有用户名和密码 ID 的输入字段。
data = JSON.stringify({
"jsonrpc": "2.0",
"method": "POST",
"params": {
"params": {"username": $('#username').val(), "password": $('#password').val()}
}
});
当我对值进行硬编码时,我可以很好地发送它,问题是它不会从输入字段发送值。我究竟做错了什么?
我是这样发送的:
$.ajax({
url:url,
type:"POST",
crossDomain: true,
dataType: "json",
data : data,
headers: {
'content-type': "application/json; charset=utf-8"
},
success: function(data){
$("#result").append('<p>Token: ' + data.result.token + '</p>');
$("#result").append('<p>Name: ' + data.result.Customer.Name.value + '</p>');
$("#result").append('<p>ID: ' + data.result.Customer.ID + '</p>');
},
error: function(data, status, xhr) {
alert("Error");
}
});
我尝试简化事情,所以我div
在单击按钮时将值添加到 a 中。这工作得很好:
$("#login").click(function() {
$('#test').append($('#username').val());
});
回答:正如大卫在评论中提到的,这是因为我在函数之外声明了数据变量。