jquery包括发布请求(交换变量)

时间:2011-06-25 15:49:21

标签: php jquery html ajax

我对jQuery有点困惑。目前我的功能看起来像这样。

$(function(){
    $(".url2").keyup(validNum).blur(validNum);

    function validNum() {

    var initVal = $(this).val();
    outputVal = initVal.replace(/(https?:\/\/)?(www.)?[0-9A-Za-z-]{2,50}\.[a-zA-Z]{2,4}([\/\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#]){0,250}(\s){1}$/ 
,"http://my.site/ref.php?id=<?php $code = unqiue-ref-id(); echo $unqiue-ref-id;?>");   
    if (initVal != outputVal) {
        $(this).val(outputVal);
        return false;

        }}

});

所以现在它将用户输入的url(在textarea中)重写为带有我自己的url的重定向链接(例如my.site?ref.php?id=unique12。我需要的是对php文件的POST请求(代码如下),其中有效的user-url作为var提供给php文件,然后php文件应该返回一个带有生成的唯一unique-ref-id的var。我当然知道上面的代码不是这样的,它只显示最终结果应该是什么样子。生成unique-ref-id的php文件看起来像这样。

 function unqiue-ref-id() {
    $unqiue-ref-id = "";
    $lenght=4;
    $string="abcdefghijklmnopqrstuvwxyz123456789";

    mt_srand((double)microtime()*1000000);

    for ($i=1; $i <= $lenght; $i++) {
        $shorturl .= substr($string, mt_rand(0,strlen($string)-1), 1);
    }
    return $unqiue-ref-id;

}


$user-url = // var send from jquery


do{
  $unqiue-ref-id = unqiue-ref-id();
} while(in_array($unqiue-ref-id, $result));

// var send back to jquery function => final results of do function above

// Here i add the $user-url and $unique-ref-id to datebase (Dont need code for that)


?>

如果有人可以帮我解决这个问题会很棒。非常感谢:)

1 个答案:

答案 0 :(得分:0)

使用POST jQuery的方法。这是一个例子

$.post('URL-TO-POST-DATA', {'parameter1': 'value', 'parameter2': 'value'}, function(data_received){
/** Here goes your callback function **/ alert(data_received);
});

More information about POST method

不要忘记一件事。如果你不在PHP上使用echo(而不是返回),jQuery将不会收到任何内容。 你必须在PHP中使用echo,不要忘记它。