标签为 "get" 的存档

jquery ajax get success not called; ajax调用返回200,但是没有调用success的问题

管理后台不知道为啥出了点小bug,以前管用的一个功能突然不能用了,看了下数据接口是调用成功了,大周末的,又不好麻烦FE,只好自己看看了。

通过查看源代码发现,使用了jquery里的ajax方法,通过get回来的结果并没有按预期的执行success回调。

  $.ajax({
      url: '/antispammanage/filterSpecial/?kw='+encodeURIComponent(kw),
      type: 'get',
      dataType: 'json',
      success: function(data){
          var d = JSON.parse(data.trim());
          $('.producekw').val(d.kw);
      }

查看网络请求,接口是返回成功的。
然后对该方法添加了error回调,打印出返回信息,readystate=4,返回头是200,但是为啥就不success呢。

google了下后发现,原来问题出在返回信息的content-Type上,返回的不是json类型,但是ajax方法里指定了类型为json,所以ajax方法在解析json的时候出错了。解决办法有两个:
1.接口返回的header里指定content-Type为json,
2.ajax调用的时候,指定dataType为text,然后自己用JSON.parse进行解析。

Memcache 命令行用法

1、启动Memcache 常用参数


memcached 1.4.3
-p       设置端口号(默认不设置为: 11211)
-U       UDP监听端口 (默认: 11211, 0 时关闭)  

-l   绑定地址 (默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)
-d            独立进程运行
-u  绑定使用指定用于运行进程 
-m       允许最大内存用量,单位M (默认: 64 MB)
-P      将PID写入文件,这样可以使得后边进行快速进程终止, 需要与 -d 一起使用

如:
在linux下:./usr/local/bin/memcached -d -u jb-mc -l 192.168.1.197 -m 2048 -p 12121
在window下:d:App_Servmemcachedmemcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 500
在windows下注册为服务后运行:
sc.exe create jb-Memcached binpath= “d:App_Servmemcachedmemcached.exe -d RunService -p 11211 -m 500″ start= auto
net start jb-Memcached
 
Read more…

Javascript cookie使用详解

设置cookie
每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:
document.cookie=”userId=828″;
如果要一次存储多个名/值对,可以使用分号加空格(; )隔开,例如:
document.cookie=”userId=828; userName=hulk”;
在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很容易,但要保存的值是不确定的。如何来存 储这些值呢?方法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“%20”,从而可以存储于cookie值 中,而且使用此种方案还可以避免中文乱码的出现。例如:
document.cookie=”str=”+escape(“I love ajax”);
相当于:
document.cookie=”str=I%20love%20ajax”;
当使用escape()编码后,在取出值以后需要使用unescape()进行解码才能得到原来的cookie值,这在前面已经介绍过。
尽管document.cookie看上去就像一个属性,可以赋不同的值。但它和一般的属性不一样,改变它的赋值并不意味着丢失原来的值,例如连续执行下面两条语句:
document.cookie=”userId=828″;
document.cookie=”userName=hulk”;
这时浏览器将维护两个cookie,分别是userId和userName,因此给document.cookie赋值更像执行类似这样的语句:
document.addcookie(“userId=828”);
document.addcookie(“userName=hulk”);
事实上,浏览器就是按照这样的方式来设置cookie的,如果要改变一个cookie的值,只需重新赋值,例如:
document.cookie=”userId=929″;
这样就将名为userId的cookie值设置为了929。
Read more…