【发布时间】:2014-11-05 11:17:28
【问题描述】:
当我对稍后提交到 url 的页面进行 AJAX 调用时,我得到一个带有用户参数的表单,以便我可以提前为同一用户创建会话,并且何时 那个人去那个网站,他在那里看到他的名字。 我创建了一个 id 为“abc_session”的 div 标签,将表单(其 id 为 fm1)分配给它,然后提交表单。
现在根据要求创建会话,但页面会自动重定向到提交表单的站点 url。我只是不希望发生这种情况。
任何人都可以提出一些建议..或一些解决方法
AJAX 返回的形式如下所示:
<html>
<body onload="document.fm1.submit();return false">
<form name = "fm1" method="post" action = "https://abcd.com/abc ">
<input type=hidden name ="name" value="xyz">
<input type=hidden name ="login_parameters" value="CDF5D71C5BDB942EE2FB6C285B8DEBFE4C5675137B615CD2276571813AAC872AC8942E26B71026414BED1FEA09427D0B20A50FE2F70032D2E5B382598EC3C71D73EAB4ECBF7273A73BEB98ACEA4A0B775E7772BDC7C6746C355">
</form></body>
</html>
脚本是这样的
$(document).ready(function() {
function callwebsite()
{
$.ajax({
url: "/NASApp/benemain/website",
data: {},
type:"POST",
dataType: 'text',
cache: false,
success: function (data) {
alert("Call made to website.. ");
console.log(data);
document.getElementById("abc_session").innerHTML=data;
document.fm1.submit();
},
error : function(response){
console.log('ERROR');
},
statusCode : {
500 : function() {
console.log('500 error');
window.location.reload(true);
},
401 : function() {
console.log('401 error');
window.location.reload(true);
},
404 : function(){
console.log('400 error');
}
}
});
}
callwebsite();
尝试按照 quentin 的建议提取数据并进行另一个 ajax 调用,但出现此错误“跨源请求被阻止:同源策略不允许读取远程资源。这可以通过将资源移动到相同的域或启用 CORS。”
$.ajax({
url: lcAction,
data: {partner_id:lcPartner,login_parameters:lcLP },
type:"POST",
headers:{'Access-Control-Allow-Origin': '*'},
dataType: 'text',
//crossDomain: true,
//cache: false,
success: function(data)
{
alert("success");
},
error:function(response)
{
//alert("error");
console.log(response);
}
});
【问题讨论】:
标签: javascript jquery ajax