如果这个问题已经得到解答,我提前道歉.我一直试图在谷歌和StackOverflow上搜索这个,但由于我的搜索查询中有标点符号,搜索引擎倾向于使用它并给我无意义的结果.
在我的rails应用程序(rails 3.2.11,ruby 1.9.3)中,我的日志经常如下所示:
Started GET "/apply/contact" for 127.0.0.1 at 2013-01-29 17:35:21 -0600
Processing by JobApplicationsController#show as HTML
Parameters: {"id"=>"contact"}
[1m[36mJobApplication Load (0.5ms)[0m [1mSELECT "job_applications".* FROM "job_applications" WHERE "job_applications"."id" = 9 LIMIT 1[0m
[1m[35mPerson Load (0.4ms)[0m SELECT "people".* FROM "people" WHERE "people"."id" = 42 LIMIT 1
Rendered job_applications/contact.html.haml within layouts/bare (9.6ms)
Rendered shared/_messages.html.haml (0.1ms)
Completed 200 OK in 88ms (Views: 24.8ms | ActiveRecord: 0.9ms | Solr: 0.0ms)
Run Code Online (Sandbox Code Playgroud)
我想知道的是关于在一些线之前出现的[1m[36m和[1m[35m令牌,[0m以及[1m有时出现在线内的令牌.
唯一显示的数字是0,1,32,35和36.这些标记始终在日志文件中以不可打印的转义字符开头.
这些数字表示什么?它们为什么会出现在我的日志中?还有办法摆脱它们吗?当他们尝试阅读日志并诊断问题时,他们(以及他们的逃脱角色朋友)非常讨厌.
在我们的Rails应用程序中,我们有一个内联编辑功能,PUT将更改回服务器.PUT的URL将根据正在编辑的对象类型/用户所在的页面而更改,但相同的JavaScript支持所有页面上的功能.我遇到了一个问题,即jQuery的AJAX请求有时会在没有触及服务器的情况下失败,除了"错误"之外,它们不会提供任何错误消息.我一直试图在控制台中调试它,但没有成功.非常奇怪的是,它似乎是由于传递给URL的某些$.ajax()内容导致了问题.
在控制台中,这可以按预期工作:
> errorCallback = function( jqxhr, status, err ){
console.log( "Ajax call encountered an error: '" + status + "'" );
console.log( jqxhr );
console.log( err );
};
> options = { type: 'PUT', error: errorCallback, data: { cerebro: true, name: 'cerebro-edit-span-2-title', pk: null, value: 'Test' }, url: '/staff/employees/2.json' };
> test1 = $.ajax( options );
> test1.readyState;
4
Run Code Online (Sandbox Code Playgroud)
所以我可以看到AJAX请求正常完成,没有错误回调被触发,并且最终readyState为4,如预期的那样.但现在请注意我是否只更改了URL的中间部分:
> options.url = '/staff/job_advertisements/2.json';
> test2 = $.ajax( options );
Ajax call encountered an error: …Run Code Online (Sandbox Code Playgroud)