почему разрыв строки base64 при попытке передать ее с помощью объекта javascript xmlhttprequest? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь передать строку base64, которая является довольно большой, используя javascript xmlhttprequest, и при отладке я могу правильно кодировать, но каким-то образом, когда он достигает сервера, некоторые его части, например, символ "+", были обнаружены отсутствующими. Многиераз я также получаю 500 внутренних ошибок сервера.в других случаях он ломается на стороне сервера.Вот мой код:

    function markAttendanceSuccess(fingerPacket,id,senderId,fromDate,toDate,leave)
    {
        var xhttp=new XMLHttpRequest();
    xhttp.open("POST","myUrl",true);

    xhttp.onload=function()
    {
        if(this.status===200)
            {               
                var response=this.responseText;
                let index=response.indexOf(">")+1;
                response=response.substring(index,response.length);
                index=response.indexOf(">")+1;
                let index2=response.lastIndexOf("<");
                response=response.substring(index,index2).toLowerCase();
                if(response==="attendance marked successfully")
                {
                    alert("success");
                }           
                else
                {
                    alert(response);
                }


            }
        else {
            alert(this.statusText);
        }

    }
    xhttp.onerror=function()
    {
        alert(this.responseText);
    }
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    let loginModel=JSON.parse(sessionStorage.getItem("loginModel"));
    let str="";

    str=fingerPacket+"~"+senderId+"~1~1~01-jan-1900~01-jan-1900~0";

    }



    str=btoa(str);

    xhttp.send("parameter="+str);
    }
...