无法使用javscript读取发布请求响应

时间:2020-05-19 04:46:28

标签: javascript html jquery forms

我有一个html表单。该表单将登录请求发送到服务器。来自服务器的html响应放在iframe中。

$(document).ready(function(){
$("#submit").click(function(event){

$("#dummyframe").on('load',function() {
 
var myiframe = $("#dummyframe").val();
var iframedocument = myiframe.contentDocument;
var response = iframedocument.queryselector("pre");
var  errormessage = '{"code":500,"message":"入力項目に誤りがあります","data":{}}';
if (response == errormessage ){
alert('wrong password');
}
else {
alert('password is ok');
}

});
});
});
<iframe name="dummyframe" id="dummyframe" style="display: none;"></iframe>

    <form  method="post" target="dummyframe" action="https://kintai.jinjer.biz/v1/sign_in">

    <input name="company_code" type="hidden" value="1234" /> 
    <input  name="email" type="hidden" value="1234" /> 
    <input  name="password" type="hidden" value="1234" />
    <input type="submit" value= "submit" id= "submit" /> 
    </form>

我想读取服务器的响应以验证密码。如果从服务器收到错误消息,我想在html页面中提醒“密码错误”。我想念什么吗?没用该代码似乎并不正确。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要将脚本更改为以下内容:

$(document).ready(function(){
    $("#submit").click(function(event){
         $("#dummyframe").on('load',function() {

             var myiframe = $("#dummyframe");
             var iframedocument = myiframe.contentDocument;
             if (iframedocument.document) iframedocument = iframedocument.document;
             var response = iframedocument.queryselector("pre").innerHTML;
             var  errormessage = '{"code":500,"message":"入力項目に誤りがあります","data":{}}';
             if (response == errormessage ){
                 alert('wrong password');
             }
             else {
                 alert('password is ok');
             }

        });
    });
});