是否可以提交帖子而不是AJAX,并在jQuery中获得JSON响应?
我正在尝试向另一个站点提交一个表单帖子,并收集它显示的JSON响应。我正在使用以下命令,但我不确定如何获得响应是否可以提交帖子而不是AJAX,并在jQuery中获得JSON响应?,jquery,asp.net,json,vb.net,post,Jquery,Asp.net,Json,Vb.net,Post,我正在尝试向另一个站点提交一个表单帖子,并收集它显示的JSON响应。我正在使用以下命令,但我不确定如何获得响应 $("form input[type=submit]").on("click", function (ev) { var result = ''; ev.preventDefault(); $('#myform').submit(); }); 我会使用.post()或.ajax();然而,我能说的最好的是我不能使用它,因为我得到了错误 无法加载XMLHttpR
$("form input[type=submit]").on("click", function (ev) {
var result = '';
ev.preventDefault();
$('#myform').submit();
});
我会使用.post()
或.ajax()
;然而,我能说的最好的是我不能使用它,因为我得到了错误
无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“localhost”
编辑:
$('#mybutton').click(function () {
$.ajax({
url: "http://example.com/api/login/",
type: "POST",
data: "name=user%40domain.com&pass=apassword",
dataType: "jsonp",
success: function (result) {
alert("success");
},
error: function (jqXHR, tranStatus, errorThrown) {
alert("error");
}
});
});
您可以将表单提交到其他网站,但除非目标网站允许(并且您正在使用
ajax
),否则无法访问页面中的结果。这种情况正是由政府来防止的。目标站点允许您通过访问
您可以提交表单并完全放弃控制权(正常表单提交),或您可以使用
ajax
并遵守SOP(除非站点使用CORS允许)。感谢您提供的信息。我只是想知道问题在哪里。为什么我能够从一个站点发起一个帖子,比如,并收到期望的结果?当我尝试使用.ajax()时,它的行为就像我没有指定任何参数一样。我将用我在那里尝试的内容更新原始问题。@moopata:hurl。它可能是在服务器端而不是客户端执行请求(例如,您说“go get this”,它向其服务器发送一个请求,说“go get this”,而它的服务器执行实际的查询)。SOP仅适用于客户端。完美!明白了谢谢你的帮助!我不确定你第一次说的时候我不明白-/@穆帕萨:我没有说出客户端的部分。:-)最好的,我想真正的问题是你为什么要这么做?@frenchie,我正在尝试与另一台服务器进行身份验证。他们要求我向他们发送用户名和密码,他们进行身份验证并返回id。