我对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)
?>
如果有人可以帮我解决这个问题会很棒。非常感谢:)
答案 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,不要忘记它。