Javascript中的真正随机字符串是异步的

时间:2011-08-29 21:50:37

标签: php javascript ajax uuid

我正在使用javascript函数生成随机字符串:

function S4() {
   return (((1+Math.random())*0x10000)|0).toString(16).substring(1);
}

function guid() {

    /*$.ajax({
        type: "GET",
        url: "uuid.php",
        cache: false,
        success: function(html){
            return html;
        }
    });*/

   return (S4()+S4()+S4()+S4());
}

我想利用我发现的php uuid库,问题是我需要它在javascript中运行。我经常使用guid()函数,我一直在想一个抓住uuid的优雅方式,我请求使用ajax对象(上面已注释掉)。每次只打印随机uuids的uuid页面位于本页旁边的本地。我不想让请求同步,因为,就像我说的,我使用它相当多,并且不希望每次这个东西发出请求时都停止一切。或者也许有一种方法我可以使用jQuery快速而不妨碍性能?

我并不反对改变一些事情,比如这里最好的做法是获得负载上的uuid?但是我生成的UUID数量是完全动态的,并且取决于用户。

谢谢!

2 个答案:

答案 0 :(得分:2)

uniqid()检查phpjs.org功能。

答案 1 :(得分:1)

如何在guid()函数中添加一个回调参数,您可以在其中为某个值赋值:

function guid(callback) {
    $.ajax({
        type: "GET",
        url: "uuid.php",
        cache: false,
        success: function(html){
            callback(html);
        }
    });
}

var value;

guid(function (result) {
    value = result;
});