如何在Javascript中向某些URL发出POST请求(请参阅下面的代码)?
到目前为止,我的代码无效,我实际上需要将其放入 iFrame (将其with和height设置为0)以防止主页重新加载。
$(document).ready(function(){
$("button").click(function(){
$.post(
"http://control.msg91.com/api/sendotp.php?otp_length=4&authkey=xxx&message=Your OTP is ##OTP##&sender=OTPSMS&mobile=xxx&otp_expiry=2"
, function(data){
alert(data);
});
});
});
答案 0 :(得分:1)
如果你想使用iframe,那就不要使用XMLHttpRequest(NB $.post
是一个包装XMLHttpRequest的jQuery。)
创建<form>
。将其action
设置为URL。它是method
到POST
,而target
是<iframe>
的ID。
将数据放入该表单中。然后提交。
如果您想完全使用JavaScript执行此操作,则可以使用DOM创建表单并使用完全隐藏的输入,以便现有页面中不会显示任何内容。确保将表单附加到文档中,因为某些浏览器不允许您提交不属于文档的表单。
也就是说,既然你想要一个没有尺寸的iframe,那么想要使用iframe似乎很奇怪。
您可能正在尝试解决CORS限制,但您应该能够使用您正在使用的代码成功发出请求。您将无法判断它是否成功(因为限制是在阅读响应时)。如果您使用iframe,则会遇到相同的限制。
如果要取消控制台中显示的错误消息,可以将fetch
与mode: "no-cors"
一起使用。你仍然无法阅读回复。
答案 1 :(得分:-1)
确保您没有遇到CORS问题。除非您所使用的资源允许跨域策略的例外,否则如果您的网页不在control.msg91.com上,您将无法访问它。