【问题标题】:instead of proper value html code is coming in JQuery而不是正确的值 html 代码出现在 JQuery 中
【发布时间】:2020-04-06 13:35:59
【问题描述】:

我对 JQuery 有疑问。我们在文本字段中输入test%,并在保存按钮上调用一个函数。在这个函数中,我们序列化表单数据并调用AJAX,然后在服务器端它以test% 出现。这是%的HTML代码

你能帮我解决同样的问题吗?我无法理解这是怎么回事。 下面是代码。

function onSave(thisHref)
{
  var respData = "";
  var id = $("#id").attr("value");
  var params = $("#form_used").serialize()+"&ajaxAction=SaveHeader"+"&id="+id;
  $.post(ajaxURL, params, function(data){
    if(data.length >0) 
    {
      respData = data.substring(data.indexOf("|")+1, data.lastIndexOf("|"));
    }
  }).complete(function(){ 
    if (respData.length > 0)
    {
      var responseData = respData.split("|");
      var status = responseData[0];
      var msg = responseData[1];
      if (status == 'SUCCESS')
      {
        showSuccessMsgHeader(msg);
      }
      else if (status == 'ERROR')
      {
        showErrorMsgsOnly(msg);
      }
    }
  });

}

【问题讨论】:

    标签: jquery html ajax ajaxform


    【解决方案1】:

    使用jquery的escape & unescape方法 尝试这个

    <!DOCTYPE html>
    <html>
    <body>
    
    <script>
    
    var str="Hello test&#37;!";
    var str_esc=escape(str);
    document.write(unescape(str_esc))
    
    </script>
    
    </body>
    </html>

    【讨论】:

      【解决方案2】:

      使用.serializeArray() 代替serialize() 函数

      【讨论】:

      • 谢谢@Dev。我尝试使用 serializeArray 方法,但现在收到 400 Bad request 错误。我检查了网络选项卡中的表单数据,发现它在输入字段旁边显示为“无法解码值”。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 2011-08-08
      • 1970-01-01
      • 2021-12-19
      • 2021-01-14
      • 2011-10-21
      相关资源
      最近更新 更多