jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 通过AJAX问题发送带有HTML注释的发布请求大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在使用jQuery FORM提交表单并进行POST提交时遇到了以下问题.

当我在输入字段中输入HTML注释时:

< !-- #without space after < symbol

请求永远不会提交,它会永远等待.

我相信原因是HTML注释破坏了XMLhttprequest对象,它永远不会被PHP解析.
我可以在提交之前解析输入字段中的html注释,但有些事情告诉我,它不是解决此问题的最佳解决方案.
有没有人知道避免这个问题发生的最佳解决方案?

我的表单的HTML代码如下:

<form method="post" action="/orders/place" class="form a-center" id="orderForm"> 
 <input type="text" x-webkit-speech="" value="Sign text" name="sign" id="sign">
 <textarea rows="7" name="comments" id="comments">Order comments</textarea>
 <p>
  <button id="ordersubmitBtn" class="button" type="submit">
 </p>        
</form>

Javascript是一个简单的jQuery表单提交:

var options = {
 dataType: 'json',success: function(data) { 
   if (data.ok) {
     //do some action here!
   }
 }
};
$('#orderForm').ajaxSubmit(options);

它失败的唯一情况是我输入html注释标签的情况.

此处还有指向包含表格http://sandsign.com页面链接(只需尝试输入<! - 文本在符号文本中按下Lets Go按钮)

解决方法

您可以在提交之前对textarea内容进行html编码,然后在服务器中对其进行解码,而不是仅解析注释.这些是使用JQuery进行html编码/解码的函数

function htmlEncode(value){
  return $('<div/>').text(value).html();
}

function htmlDecode(value){
  return $('<div/>').html(value).text();
}

通过(HTML-encoding lost when attribute read from input field)

然后使用htmlentities在PHP中对其进行解码:

http://php.net/manual/es/function.htmlentities.php

大佬总结

以上是大佬教程为你收集整理的jquery – 通过AJAX问题发送带有HTML注释的发布请求全部内容,希望文章能够帮你解决jquery – 通过AJAX问题发送带有HTML注释的发布请求所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。