包含 &提供给 jquery ajax 的文本导致后变量错误


Text containing & given to jquery ajax causing error in the postvariable?

我有一个文本框,只是使用 jqueryAjax 检查文本的可用性。我面临一个问题,例如当我在 jquery 中检查包含&发布变量的文本时,我检查了堆栈溢出线程中给出的解决方案,但仍然在那个 当我们获取 html 编码值时&它给出了&,这将再次&,结果 jquery ajax post 变量被破坏。我尝试的代码如下

    //from the text field
    var textfieldValue=$('#text').val();
    //Jquery Ajax
    $.ajax({
       type: "POST",
       async: false,
       url: "ajax/CheckAvailabilityphppage.php",
       data: "fieldvalue="+textfieldValue,
       dataType: "json",
       success: function(data){
         if (data['Status'] == 'YES'){
           alert('yes its Available');
          }else{
           alert('Sorry Not Available');
          }
       }
   });

在Firebug中,Post变量显示为(如果文本是P&P)

P   
fieldvalue P

&P 正在作为另一个 Post 参数,因此 ajax 只验证文本P

任何帮助或建议都非常感谢。

多谢

将一个对象传递给 data 参数,jquery 会自动为您编码。

data: { fieldvalue: textfieldValue },

您需要对值进行正确的 URL 编码。

为此使用encodeURIComponent