我看過幾個網站,討論使用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