我正在嘗試使用 ajax 發送請求:
const formBody = document.getElementById('body'); // my form data
const XHR = new XMLHttpRequest();
const params = "body=" formBody;
XHR.open("POST", window.origin '/CreateFormAction');
XHR.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
XHR.send(params);
相應的 IHP 行動:
action CreatePostAction = do
rBody <- getRequestBody
putStrLn $ tshow rBody -- this returns: ""
renderPlain "Request Received"
當我嘗試發送“$”、“ ”等特殊字符時,這是我在服務器上收到的請求:
POST /CreatePostMessage
Params: [("body"," ")]
Request Body: body=
Accept: */*
Status: 200 OK 0.025023s
uj5u.com熱心網友回復:
您必須使用 formBodyencodeURIComponent()對特殊字符進行編碼,如下所示:
const params = "body=" encodeURIComponent(formBody);
您的 IHP 操作應該能夠處理特殊字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482704.html
