Javascript jQuery追加不需要的数据
代码中的某些jQuery函数正在插入字符串:Javascript jQuery追加不需要的数据,javascript,jquery,Javascript,Jquery,代码中的某些jQuery函数正在插入字符串: jQuery15206649508478338135_1314906667378 进入用户提供的反馈。这是从多个表单中发生的,它被存储在数据库中,这真的让我们的用户很恼火。此类代码的一个示例: $(".sendFeedback").live("click", function() { var feedbackText = $(".feedbackText:visible").val(); var errorElement = $(
jQuery15206649508478338135_1314906667378
进入用户提供的反馈。这是从多个表单中发生的,它被存储在数据库中,这真的让我们的用户很恼火。此类代码的一个示例:
$(".sendFeedback").live("click", function() {
var feedbackText = $(".feedbackText:visible").val();
var errorElement = $(".feedbackError:first");
if (isEmptyTrimmed(feedbackText)) {
errorOut(errorElement, language.pleaseEnterFeedbackText);
return false;
}
var sendFeedback = { email : userSettings.email, firstName : "",lastName : "",primaryRole : "", description : "<br />Feedback text: <pre>" + feedbackText + "</pre>",
sendNotification : false, isPartner : false , formType : 3};
callService("sendFeedback", sendFeedback);
currentMessage = language.thankYouForTheFeedback;
loadScreenByHash("mainScreen");
});
function callService(serviceName, data, callbackFunction) {
var json = $.toJSON(data);
json = "{ " + serviceName + ": " + json + " }";
$.post(serviceUrl, json,
function(response) {
if (callbackFunction) {
callbackFunction(response);
}
}, 'json').error(function() {
if (callbackFunction) {
callbackFunction();
}
});
}
$(“.sendFeedback”).live(“单击”,函数(){
var feedbackText=$(“.feedbackText:可见”).val();
var errorElement=$(“.feedbackError:first”);
如果(isEmptyTrimmed(反馈文本)){
errorOut(errorElement,language.PleaseenInterfeedbackText);
返回false;
}
var sendfeed={email:userSettings.email,firstName:,lastName:,primaryRole:,description:“
反馈文本:“+feedbackText+”,
sendNotification:false,isPartner:false,formType:3};
呼叫服务(“发送反馈”,发送反馈);
currentMessage=语言。感谢您的反馈;
loadScreenByHash(“主屏幕”);
});
函数调用服务(serviceName、data、callbackFunction){
var json=$.toJSON(数据);
json=“{”+serviceName+:“+json+”}”;
$.post(serviceUrl、json、,
功能(响应){
if(callbackFunction){
调用函数(响应);
}
},json')。错误(函数(){
if(callbackFunction){
callbackFunction();
}
});
}
callService函数指向Java服务器,所以我怀疑它是否插入了Java服务器。java服务器写入数据库,所以我很确定它被插入到javascript代码中
其他地方也会发生这种情况,它们遵循相同的公式:使用.val()读取用户输入,传递给callService(有时通过附加的JS函数)。输出数据的示例:
我创建了一个测验,但不知道如何为我的班级运行它。
没有显示“运行”的按钮
提问152066495084338135_13149066667378?客户名称
我还看到它附加在字符串的末尾。如果有人见过这个问题,请告诉我。我找到了问题的原因。用户数据已输入并发送到数据库,但数据库未设置为UTF-8。每次数据库中的字符编码出错时都会出现问题。当数据库返回垃圾时,它将触发要添加的字符串
更改数据库编码解决了这个问题。$.toJson来自jquery json插件。很抱歉,我删除了一条注释,其中我询问了
$.toJSON
的来源。您是否尝试过通过这段代码进行调试?调用.val()
之后和$.post
之前一定发生了问题。我已经仔细检查了代码,但没有看到错误。问题是这是一个非常间歇性的错误(可能发生在100次中的1次和1000次中的1次之间)。