edit3:我在facebook应用程序中使用此脚本,并且不确定如何操作
我使用帖子将var传递给php文件:
<div id="talentnum" class="cont_talentnum"><?php echo $number; ?></div>
<a class="mine_click" href="#"></a>
这里是
var strtalentnum;
$('.mine_click').live('click', function() {
strtalentnum = $(this).closest("li").find(".cont_talentnum").text();
$('#mine').trigger('click');
});
$("#mine").click(function(){
if(strtalentnum){
$.ajax({
type: "POST",
url: "fb_test.php",
data: strtalentnum,
success: function() {
var talentnum = strtalentnum; //this is 6203222
alert(strtalentnum);
}
});
}
});
并且php文件是:
<?php
function fb_test()
{ echo 'xxx';
echo $_GET['strtalentnum'];
}
?>
然后我在同一个html页面中调用该函数:
<?php function fb_test(); ?>
如果我运行这个,我只得到xxx
。我也获得了成功提示in my case '6203222'
所以我知道POST
正在发生
如果我查看Chrome网络标题,我可以看到:
Request Method:POST
Status Code:200 OK
Form Data
6203222:
为什么我不能使用$_GET['strtalentnum'];
?
任何想法?
感谢
编辑:$_POST['strtalentnum'];
不会做任何工作
edit2添加了html
答案 0 :(得分:1)
您需要一个变量名称:
var strtalentnum = $('#strtalentnum').val();
$("#mine").click(function(){
if(strtalentnum){
$.ajax({
type: "POST",
url: "fb_test.php",
data: "strtalentnum=" + strtalentnum,
dataType: 'html',
success: function() {
var talentnum = strtalentnum; //this is 6203222
alert(strtalentnum);
}
});
}
});
形式:
<form method="post">
<input id="strtalentnum" type="text" name="strtalentnum" value="526558" />
<input id="mine" type="submit" name="submit" />
</form>
立即测试:
<?php
function fb_test()
{ echo 'xxx';
echo $_POST['strtalentnum'];
}
?>
答案 1 :(得分:0)
使用$_POST
而非$_GET
访问通过POST
方法传递的变量
答案 2 :(得分:0)
因为你必须通过 $ _ POST ['strtalentnum'] 而不是$ _GET ['strtalentnum']得到这个。
答案 3 :(得分:0)
对于您的数据,您无法传递字符串,该变量需要您实际上在说的名称
fb_test.php?strtalentnum=
如果是GET。
将您的数据($ .ajax)更改为:
$.ajax({
type: "POST",
url: "fb_test.php",
data: {strtalentnum: strtalentnum }
success: function() {
var talentnum = strtalentnum; //this is 6203222
alert(strtalentnum);
}
});