Javascript 使用jquery+POST+JSON格式发送登录表单数据
我正在尝试建立一个登录表单。数据使用jquery传输并转换为json格式。但出于某种原因,我一直得到这样的答案: 错误 1请求的资源上存在选项“URL”否“Access Control Allow Origin”标头。因此,不允许访问源“null” 2 XMLHttpRequest无法加载“URL”。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null” 我试图通过打印代码来测试代码,并且数据的格式正确,但是当我尝试调试代码时,在按下sumbit按钮后,我没有看到任何数据进入服务器。代码如下:Javascript 使用jquery+POST+JSON格式发送登录表单数据,javascript,jquery,html,json,rest,Javascript,Jquery,Html,Json,Rest,我正在尝试建立一个登录表单。数据使用jquery传输并转换为json格式。但出于某种原因,我一直得到这样的答案: 错误 1请求的资源上存在选项“URL”否“Access Control Allow Origin”标头。因此,不允许访问源“null” 2 XMLHttpRequest无法加载“URL”。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null” 我试图通过打印代码来测试代码,并且数据的格式正确,但是当我尝试调试代码时,在按下su
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script src="jquery-1.8.3.min.js"></script>
<script src="jquery.json-2.2.js"></script>
<script src="GetPostAjax.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#submit").click(function(e){
e.preventDefault();
var username,password;
username=$("#username").val();
password=$("#username").val();
if(username.length>0 && password.length>0)
{
// var request = new Object();
// var userDetails = new Object();
var user = new Object();
user.userid=username;
user.password=password;
// userDetails.user = user;
// request.userDetails = userDetails;
var jsonfy = $.toJSON(user);
$("#json1").html(jsonfy);
//Ajax Call
var url='***URL***';
post_data(url, function(data) {
alert("Success");
});
$(".part1").val('');
$("#username").focus();
}
});
});
</script>
<style>
body{font-family:arial;font-size:12px;}
.right{text-align:right}
input[type='text'], select
{
border:solid 1px #333;
padding:4px;
width:180px;
}
select{width:190px}
div{padding:20px;word-wrap: break-word;width:600px}
</style>
</head>
<body>
<table width='100%'>
<tr><td>
</td>
<td width='730px'>
</td>
</tr>
</table>
<table width='100%'>
<tr>
<td valign='top'>
<table width='100%'>
<tr>
<td>
<form method="post" action="***URL***" >
<table width='100%'>
<tr>
<td class='right'>Name</td>
<td><input type='text' name='username' id='username' class='part1'/></td>
</tr>
<tr>
<td class='right'>Password</td>
<td><input type='text' name='password' id='password' class='part1'//></td>
</tr>
<tr>
<td class='right'></td>
<td><input type='submit' id='submit'/></td>
</tr>
</table>
</form>
</td>
<td width='50%' valign='top'>
<h2>JSON Output</h2>
<div id='json1'>
</div>
</td>
</tr>
</table>
</td>
</tr>
</body>
</html>
当我在chrome中选择dev选项并在输入用户名和密码后点击submit时,我发现表单数据选项卡丢失了。我只看到“请求头”和“响应头”。因此,我不确定表单数据是否丢失或没有发送出去?
我已经做了两个多星期了,我不确定我是否理解这里出了什么问题 这是:
post_data(url, function(data) {
alert("Success");
});
应该是:
post_data(url,jsonfy,'no');
谢谢你的帮助。这绝对有道理!但是错误仍然存在,我没有看到任何表单数据被发送。这两个错误:1请求的资源上存在选项“URL”否“Access Control Allow Origin”标头。因此,不允许源“null”访问2 XMLHttpRequest无法加载“URL”。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“null”。您正试图从其他域访问url,这就是您获取该标题的原因。感谢您的回复。我将文件放在服务器上,但错误仍然存在。
post_data(url,jsonfy,'no');