gpt4 book ai didi

javascript - 由于发布数据中的关键字,jQuery Ajax 在发布数据时失败

转载 作者:行者123 更新时间:2023-11-30 13:43:02 26 4
gpt4 key购买 nike

我知道帖子失败的原因,但我不确定如何解决它,而且我找不到任何其他对此的引用。我引用了 jEditable 来简化这件事,因为它在没有 jEditable 插件的情况下发生。

那么我到底该如何“转义”关键字以使其正确发布呢?这是相关代码:

测试

<script type="text/javascript">
$(function() {
$('#button').click(function() {
$.ajax({
type : 'POST',
url : 'ajax/post_cms.php',
dataType : 'html',
data : {
id : '1',
data : '<p>This is a test of the system that shows me an alert !</p>'
},
success : function(data) {
console.log(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
console.log('An Ajax error was thrown.');
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
});
});
});
</script>

<input type="button" name="button" value="button" id="button" />

当它出错时,它会抛出“error:”回调函数,并且“errorThrown”被记录为未定义。我肯定它是“alert”这个词,因为如果我在它出现的地方拼写“allert”,一切都很好。如果你取出 HTML(所以它只是“数据:'这是一个向我显示警报的系统测试!'”)它工作得很好。

XMLHttpRequest = "XMLHttpRequest readyState=4 status=0 multipart=false"textStatus = "错误"errorThrown = "未定义"

啊!!帮助!!

最佳答案

更新:问题是防火墙将 AJAX 请求捕获为 XSS 攻击。如果您遇到类似于下面显示的问题,请务必检查您的环境。

症状:

  1. 发布数据失败,错误代码为 0
  2. 发布数据在其他地方有效,但在您的环境中无效
  3. 只要不包含任何 javascript 函数,发布数据就可以工作
  4. 根据文档,您的图书馆似乎不应该有问题
  5. 您在库中找不到错误。

我认为这里除了 jQuery 之外还有其他问题。你最初的例子对我来说很好用。

请在此处查看工作示例:http://jsbin.com/ifami

注意:我必须将您的 ajax URL 更改为有效的 url,否则没有其他更改。

也就是说,您可以尝试将您的值编码为 URI 组件:

<script type="text/javascript">
$(function() {
$('#button').click(function() {
$.ajax({
type : 'POST',
url : 'ajax/post_cms.php',
dataType : 'html',
data : {
id : '1',
data : encodeURIComponent('<p>This is a test of the system that shows me an alert !</p>')
},
success : function(data) {
console.log(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
console.log('An Ajax error was thrown.');
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
});
});
});
</script>

关于javascript - 由于发布数据中的关键字,jQuery Ajax 在发布数据时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1234388/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com