如何通过 JQuery 输入符号

how to input symbols through JQuery

本文关键字:输入符号 JQuery 何通过      更新时间:2023-09-26

我正在使用JQuery和aJax与PHP将一些数据插入数据库

但是我有一个小问题,当我插入包含(&)符号的数据时..数据库读取(&)之前的文本.。

例如,如果标题是(太阳和月亮),则仅将其保存为:(太阳)..我该如何解决?

所以这是我的代码:

<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function(){  
$('#result').fadeOut("fast");
$('#wait').fadeIn("slow").delay(1000);
    var number = $("input#number").val();
    var title = $("input#title").val();
  var dataAll = 'number='+ number + '&title=' + title ;
  $.ajax({
    url: "../insert/add_module/",
    type : "POST",
    data : dataAll,
    dataType :"html",
    success : function(msg){
        $('#wait').fadeOut("fast");
        $('#result').fadeIn("slow");
         $('#result').html(msg)
    }
  });
});
});

而不是

var dataAll = 'number='+ number + '&title=' + title ;

你可以试试

var dataAll = { number: number, title: title} 

您需要转义 URL 中的与号 (&),否则浏览器会认为这是另一个变量对的开始。

将标题字符串上的"&"替换为"%26"。

http://www.w3schools.com/tags/ref_urlencode.asp

&

http://meyerweb.com/eric/tools/dencoder/

您应该对表单数据使用正确的序列化,如 jQuery .serialize() 提供的那样。& 符号将被转义,因此它不会被解释为另一个变量

<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function(){  
   $('#result').fadeOut("fast");
   $('#wait').fadeIn("slow").delay(1000);
   var dataAll = $('#number, #title').serialize();
   $.ajax({
     url: "../insert/add_module/",
     type : "POST",
     data : dataAll,
     dataType :"html",
     success : function(msg){
         $('#wait').fadeOut("fast");
         $('#result').fadeIn("slow");
         $('#result').html(msg);
    }
  });
});
});