2017年8月

因为一个特殊的原因,确定键没有设置在form表单里,没法自动触发,只能手动监听手机软键盘的确认操作(如果type='search'就是搜索键)
Keycode等于13的时候代表是确定键

<script>
        document.onkeydown=function(event){
            var e = event || window.event || arguments.callee.caller.arguments[0];
            if(e && e.keyCode==13){ // enter 键
                 //你的操作
                alert('成功触发确定键');
            }
        }; 
</script>

另附:Keycode表:
Keycode对照表

keyPress在Android可以触发,iOS不可以。
用oninput【需要配合propertychange,兼容 IE9 以下版本】

$('input').bind('input propertychange', function() {
        //处理代码
    });

注意,下面的写法不支持:

$('input').input(function() {
  //进行相关操作 
});

借用插件实现,需要引入的文件(别忘引入jQuery文件,1.7版本以上的):
()

<link rel="stylesheet" href="dropload.css">
<script src="dropload.min.js"></script>

HTML代码:

<div class="content">
    <div class="lists"></div>
</div>

js代码

$('.aui-content').dropload({//.aui-content和下面的加载的数据(.aui-media-list)不能用同一个类名或同一个div
    scrollArea : window,
    autoLoad : false,//自动加载,否
    domDown : {//自定义下拉样式和刷新样式
        domClass   : 'dropload-down',
        domRefresh : '<div class="dropload-refresh">&nbsp;</div>',
        domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
        domNoData  : '<div class="dropload-noData">暂无数据</div>'
    },
    loadDownFn : function(me){//上拉加载
        var lastid = $('.aui-media-list li').last().attr('name');//记录最后一条的id,取比它大或者比它小的几条
        $.ajax({
            url:"{php echo $this->createMobileUrl('ajaxSearchNoticeList')}",
            data:'lastid=' + lastid,
            type:'POST',
            dataType:'HTML',
            success: function(data){
                //alert(data);
                if(data == 1){//判断是不是没有数据了
                    //me.lock();//锁定,锁定后,不能加载不能刷新
                    // 无数据
                    me.noData();//不让加载
                    // 每次数据加载完,必须重置
                    me.resetload();
                }else{
                    $('.aui-media-list').append(data);//就这个和初始对象不能一致
                    // 每次数据加载完,必须重置
                    me.resetload();
                }
            },
            error: function(xhr, type){
                alert('Ajax error!');
                // 即使加载出错,也得重置
                me.resetload();
            }
        });
    },
    loadUpFn : function(me){//下拉刷新
        $.ajax({
            url:"{php echo $this->createMobileUrl('ajaxSearchNoticeList')}",
            data:'refresh=yes',
            type:'POST',
            dataType:'HTML',
            success: function(data){
                $('.lists').html(data);
                me.resetload();
            },
            error: function(xhr, type){
                alert('Ajax error!');
                me.resetload();
            }
        });
    }
});

其余配置选项和说明见此链接:
下拉刷新、上拉加载更多 Zepto/jQuery插件;

我从域名a的网站里写个ajax,要请求域名b下的接口数据,很明显,跨域了,普遍的解决方法有两种:

1、jsonp
网上方法一大堆,我不写了,而且我不用这个方法.......因为jsonp的话传参只能是get,所以我不用。
2、增加header头
简单易用,一行代码搞定,利用 CORS,域名b下对应的接口方法里只需添加一个标头,就可以允许来自 域名a 的请求:
PHP:header("Access-Control-Allow-Origin:*");
Java:response.addHeader("Access-Control-Allow-Origin","*");
打开调试工具,如果请求头信息里有Access-Control-Allow-Origin:*,就表示CORS已经启用成功了;
06082242-c70a37f237ed48c4a60d33fccfd467fb.png
此时,你的ajax返回的数据就能接收到了,happy~~~
  • PS:第二种方法注意下安全问题,因为你允许任何域名都可以访问,PHP可以设置指定哪些域名可以访问,比如:

    PHP:("Access-Control-Allow-Origin:http://www.a.com");
  • PS2:因为我不是Javaer,所以Java的指定方式不敢妄说,请各路大神解决~~~

    Java:response.addHeader("Access-Control-Allow-Origin","http://www.a.com");貌似这样是可以滴;

原因:人人商城的代码存放在客户的服务器上,用的域名是自己的二级域名,突然自己的二级域名不能用了(被举报了),客户的微信公众号端客户就不能访问了,而且上传了很多商品了,还得保留数据。
我用的是oneinstack

1、新解析个好的域名,比如访问到now目录下,之前的到before目录
2、把before目录改成now,把now改成before(这样新的域名就指定到了之前的代码目录下,数据库也没有变,数据完整)
3、登录新的域名下发现接口地址已经变成了现在的新的域名,只需要改几个地方:
  • 微信公众平台里把功能设置里的授权域名改成现在的域名
  • 配置里的url改成新的域名(&id=9这部分不动),token和EncodingAESKey保持不变
  • 现在把之前的菜单动作的链接改到现在的域名下就可以了,参数都不动,只改域名

    4、如果有支付参数,再到微信商户里把支付授权目录改下就哦了
    到此,整站迁移完成