我看过几个网站,讨论使用AJAX跨域调用。他们似乎都过于复杂或具体。以下是我希望能够将请求参数发送到服务器上的特定JSP的简单html页面。如何做一个简单的跨域AJAX调用,返回一个HTML页面
<!DOCTYPE html>
<html>
<head>
<title>jQuery AJAX POST Form</title>
<meta charset="utf-8">
</head>
<body>
<div id="response">
<pre></pre>
</div>
<form id="my-form">
<input type="text" id="userName" name="first-name" placeholder="User Name" />
<input type="text" id="password" name="last-name" placeholder="Password" />
<button type="submit">Submit</button>
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
(function($){
function processForm(e){
$.ajax({
url: 'myserver.com:8080/myApp/user-login.jsp',
crossDomain: true,
dataType: 'html',
type: 'post',
contentType: 'application/x-www-form-urlencoded',
data: $(this).serialize(),
success: function(data, textStatus, jQxhr){
$('#response pre').html(data);
},
error: function(jqXhr, textStatus, errorThrown){
console.log(errorThrown);
}
});
e.preventDefault();
}
$('#my-form').submit(processForm);
})(jQuery);
</script>
</body>
</html>
我可以从一个简单的网页,不使用jQuery或AJAX,例如,在浏览器中做到这一点:
http://myserver.com:8080/myApp/user-login.jsp?userName=bloaty&password=narf
我得到一个HTML页面显示,我已经登录。
当我尝试使用上述方法时,我得到的是不支持跨域查询。 被调用的JSP将返回一个HTML页面。我在这里错过了什么?
给定的HTML页面的网址是什么? –
什么是确切的错误? – rckrd
JSP页面需要添加CORS头,如下所示:http://stackoverflow.com/q/20881532/101087 – NineBerry