我正在使用脚本自动填充并提交外部表单。远程网站似乎使用Ext.Ajax.request来验证表单。由于跨域问题,我的第一次尝试无效:没有'Access-Control-Allow-Origin':(
远程表单的代码源:
<form action="http://domain.com/loginaction.ashx" method="post">
<input type="text" name="username" value=""/>
<input type="password" name="passwd" value=""/>
<button id="submitbtn" onclick="validate();">Log In</button>
</form>
validate()函数在js文件中定义。
Plz伙计们!发送跨域请求的最简单方法是什么?
答案 0 :(得分:0)
我建议您使用JQuery's $.ajax()调用将数据发送到网址。
您的HTML:
我删除了HTML中的操作和方法,并将它们移动到JavaScript中。
另外,请注意我在元素中添加了ID(id=""
),因此我们可以使用JQuery调用它们。
<form>
<input id="name" type="text" name="username" value=""/>
<input id="pass" type="password" name="passwd" value=""/>
<button id="submitbtn">Log In</button>
</form>
您的JavaScript(Using JQuery):
// Call validateForm() when button is clicked
$("#submitbtn").on("click", validateForm);
function validateForm(){
var inputName = $("#name").val(); // Get value of name
var inputPass = $("#pass").val(); // Get value of pass
// Make sure values aren't empty
if(inputName != "" && inputPass != ""){
// Assign values to parameters object
var params = {
"entry-1" : inputName,
"entry-2" : inputPass
};
// Send the parameters to the selected URL
var ajaxPost = $.ajax({
url: "http://domain.com/loginaction.ashx",
type: "POST",
data: params
});
// What to do upon success
ajaxPost.done(function(data, textStatus){
console.log("Success!");
console.log("data");
});
// What to do upon error
ajaxPost.fail(function(jqXHR, textStatus){
console.log("Failure!");
console.log("jqXHR");
});
}
}