gpt4 book ai didi

javascript - AJAX 帖子上的异常行为

转载 作者:行者123 更新时间:2023-11-29 04:42:01 26 4
gpt4 key购买 nike

当我尝试通过 AJAX jQuery 两次发布符号 ?? 时,它会像这样发布 jQuery18306004520743153989_1413985407818。例如,如果我发布这个:What ??? 那么它会像 What jQuery18306004520743153989_1413985407818 这样发布 如果我像这样发布:What ??? 然后它会发布像这样:What jQuery18306004520743153989_1413985407818? <-- 注意结尾的 ?

为什么会这样?

我的 jQuery 发布代码是:

$( ".textbox2" ).on( 'keypress', function (e) {

if (e.keyCode == 13 && !e.shiftKey)
{
e.preventDefault();

var message = $( "#message" ).val(),
privateid = $( "#private" );

if (message == '')
{
alert( "Message is missing!!" );
return;
}

if (privateid.is( ':checked' ) ? 1 : 0)
{
var privateidVal = privateid.val();
}

$.ajax( {
type : "post",
dataType: "json",
url : "chat_insert.php",
data : "message=" + message + "&private=" + privateidVal + "&action=addcomment",
success : function (data) {

showComment();
document.getElementById( 'message' ).value = '';
document.getElementById( 'message' ).focus();
document.getElementById( 'private' ).checked = '';


if (data.error) {
alert(data.error);
}
}
} );
}

} );

是的,我在 SQL 中的 message 列具有排序规则 utf8_general_ci

请帮忙

最佳答案

您需要对传递的参数进行编码:

       data     : "message=" + 
encodeURIComponent(message) +
"&private=" +
encodeURIComponent(privateidVal) +
"&action=addcomment",

或者,您可以将“数据”组件设置为一个对象,jQuery 将为您完成这项工作:

        data    : {
message: message,
private: privateidVal,
action: "addcomment"
},

此外,当我这样做时,这一行:

            if (privateid.is( ':checked' ) ? 1 : 0)

可以更简单地写成

            if (privateid.is( ':checked' ))

.is() 函数将返回一个可以直接用于 if 测试的值。

关于javascript - AJAX 帖子上的异常行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26509216/

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