我正在尝试在文档准备好时将jQuery变量赋予PHP变量。我所拥有的是包含不同链接的所有类型值的列表,我通过cURL由外部网站获取。使用jQuery,我通过href链接得到了值。所以我想要的是当文档准备加载时,它应该将jQuery变量赋予php变量并回显它。
到目前为止我所拥有的:
//Javascript.js
$(document).ready(function() {
var value = $("a[href='index.php?p=trading&m=42&b=BTC']:eq(3)").text();
$.ajax({
url: "index.php",
type: "get",
data: value,
success: function(){
alert("success");
alert(value);
},
error:function(){
alert("failure");
}
});
alert(value);
});
值的输出= 55.0
<a href="index.php?p=trading&m=42&b=BTC">55.0</a> //from cURL page
<!-- index.php -->
<?php
$a = $_GET['value'];
if($_GET['value'] == "")
{
echo("empty");
}
else {
echo($a);
}
?>
GET / POST成功,但它没有显示在php页面上。希望有人能为此找到解决方案。
答案 0 :(得分:4)
改变这个:
data: value,
success: function(){
alert("success");
alert(value);
},
到此:
data: "value=" + value,
success: function(response){
alert("success");
alert(response);
},
您需要从index.php
文件中捕获响应(echo)并发出警告。
附加信息:看到整个index.php文件后
将此块放在PHP文件的顶部,而不是底部:
<?php
if($_POST['value'] == "")
{
echo "empty";
}
else {
echo $_POST['value'] ;
}
exit;
?>
并在最后添加exit;
。
当您通过ajax调用此php文件时,您不希望执行其余的php文件,只执行if $_GET
块中的部分。所以这需要位于文件的顶部,然后退出,这样当其余为$_GET
请求时,其余内容都不会被执行。
答案 1 :(得分:1)
试试这个
$(document).ready(function() {
var value = $("a[href='index.php?p=trading&m=42&b=BTC']:eq(3)").text();
$.ajax({
url: "index.php",
type: "post",
data: "value="+value,
success: function(result){
alert("success");
alert(result);
},
error:function(){
alert("failure");
}
});
alert(result);
});
index.php
$a = $_POST['value'];
if($_POST['value'] == "")
{
echo "empty";
}
else {
echo $a ;
}
答案 2 :(得分:0)
通过将data:value
更改为data:{"value":value}
由于