我刚刚更新了我的mvc服务,包括更大的错误和日志记录.我现在有几次这个确切的错误.但无法复制.
Unterminated string. Expected delimiter: ". Path 'Breadcrumbs[18].Params', line 1, position 59740. at Newtonsoft.Json.JsonTextReader.ReadStringIntoBuffer(Char quote) at
Run Code Online (Sandbox Code Playgroud)
每次路径都不同,具体取决于用户发送到服务器的内容.
我的ajax请求通常如下所示:
$.ajax(myURL("SendBreadcrumbs"), {
type: "POST",
cache: false,
data: { telemetry: telemetry.JSONify(), userID: currentUser, isMyVI: isMyVI }
})
Run Code Online (Sandbox Code Playgroud)
在这些情况下,userID和isMyVI(布尔值)不存在,并且遥测字符串被截断.
JSONify方法如下:
self.JSONify = function () {
var data = ko.mapping.toJSON(self, TelemetryMapping);
return data;
}
Run Code Online (Sandbox Code Playgroud)
这是knockoutJSs序列化器.
服务器端:
public void SendBreadcrumbs(string telemetry, string userID = null, bool isMyVI = true)
{
MyServiceAudit audit;
Guid UserID;
if (Guid.TryParse(userID, out UserID))
audit = InsertAudit(UserID);
else
audit = InsertAudit(null);
try …
Run Code Online (Sandbox Code Playgroud) 我的应用程序是Cordova应用程序.本周我在我的控制台中看到了很多警告:
Deferred long-running timer task(s) to improve scrolling smoothness. See crbug.com/574343.
Run Code Online (Sandbox Code Playgroud)
本周之前从未见过它.我确实使用了很多settimeouts,因为有些进程非常大,因此不会向用户呈现其处理过程.
// GETS MEDICINES VIA MYCLOUD
function getMedicinesFromServer() {
// Start Process
myProcess("Syncing Medicines", true);
setTimeout(function () {
var data = getAllModifiedMedicines(viewModel.MedicineCupboard());
sendAllMedicines(data);
}, 300);
}
Run Code Online (Sandbox Code Playgroud)
这是误报还是有更好的方法.
这些愚蠢的超时的完整原因是确保用户知道他们何时点击按钮来推送他们知道的数据.
旧方式:
myProcess("Syncing Medicines", true);
var data = getAllModifiedMedicines(viewModel.MedicineCupboard());
sendAllMedicines(data);
Run Code Online (Sandbox Code Playgroud)
不保证向用户呈现该过程.
我有一个正确运行的JQuery FIddle.它使用JQUERY Steps PlugIn.现在如果你在最后一步运行JQuery FIddle,你会发现三个按钮"Save","Previous"和"Finish".如果我点击,Save button
我想显示一条提示"你已被点击".如果您滚动到JSFiddle中HTML部分的底部,您将找到下面的代码.
代码工作正常:
// on Save button click
$(".actions").on("click",".saveBtn",function(){
alert("You have been clicked!");
});
});
Run Code Online (Sandbox Code Playgroud)
代码无效:
$( ".saveBtn" ).click(function() {
alert("You have been clicked");
});
Run Code Online (Sandbox Code Playgroud)
问题:为什么第二个代码段不起作用?
ajax ×2
javascript ×2
jquery ×2
c# ×1
chromium ×1
cordova ×1
iis ×1
jquery-steps ×1
knockout.js ×1