我一直在尝试将输入值保存到变量中,然后保存到另一个变量中,该变量保存一个api调用url,然后绑定到getJSON函数,由于某种原因我似乎无法保存值对变量的输入,它一直回复为空白,但在控制台中它显示为输入值所持有的。我做错了什么?
更新 以下是不包括已保存变量的网址图片。它应该显示我在完整URL中输入变量的内容。如您所见,login_name =为空,login_password也是如此。
jsFiddle:https://jsfiddle.net/m25pLka5/
HTML:
<form id="sso-login">
<table>
<tr>
<td>User Name:</td>
<td><input class="username" name=login_name type=text size=15 maxlength="100"></td>
</tr>
<tr>
<td>Password:</td>
<td><input class="password" name=login_password type=password size=15 maxlength="100"></td>
</tr>
<tr>
<td>Remember Me:</td>
<td><input name=remember_me type=checkbox></td>
</tr>
</table>
<input type="submit" value="Submit" name="Submit" />
</form>
jQuery:
$(function(){
var username = $('.username').val();
var password = $('.password').val();
var ssoURL = 'https://testing.com/';
var ssoMethod = 'testingMethod&login_name='+ username +'&login_password='+ password +'&v=1.0&response_format=json';
$("#sso-login").submit(function(e) {
e.preventDefault();
$.getJSON(ssoURL + ssoMethod, function(data) {
console.log(data);
});
});
});
答案 0 :(得分:1)
尝试将代码改为某种
$(function(){
$("#sso-login").submit(function(e) {
var username = $('.username').val();
var password = $('.password').val();
var ssoURL = 'https://testing.com?';
var ssoMethod = 'testingMethod&login_name='+ username +'&login_password='+ password +'&v=1.0&response_format=json';
e.preventDefault();
$.getJSON(ssoURL + ssoMethod, function(data) {
console.log(data);
});
});
});
而不是使用类从元素获取val尝试使用id有时如果在dom中的其他地方使用类(在输入之前)可能会发生冲突,所以尽可能使用id
而且我猜你的apis url在params params开始之后是错的?