无法通过ajax将javascript变量传递给PHP?

时间:2015-11-01 22:39:56

标签: javascript php jquery ajax

我在stackoverflow上搜索了几个QA,没有一个解决方案似乎有帮助。我试图将input传递给我的PHP文件但由于某种原因,input没有从javascript传递到它,并且它一直在控制台上返回undefined

我的javascript:

$.ajax({
    type:"GET",
    url:"go.php",
    data:{input:input},
    success:function(data){
        console.log(data); //data outputs https://mp3skull.wtf/search_db.php?q=&fckh=1d41a1579f21a921d1008d90dc6246a7
    }
});

我的php:

<?php
$input = $_GET['input']; //$input here is empty

$keywords= explode(" ",$input);
$link = "https://mp3skull.wtf/search_db.php?q=" . $keywords[0];

for($i = 1; $i < count($keywords); $i++){
    $link .= "+" . $keywords[$i];
}
$link .= "&fckh=1d41a1579f21a921d1008d90dc6246a7";
echo $link; //$keywords is not appended to $link
?>

4 个答案:

答案 0 :(得分:1)

代码在ajax调用之外可能console.log

答案 1 :(得分:0)

首先,您需要将其声明为变量。第二,你的变量真的有价值吗?我会给你你的样本,你可以运行你的代码做这样的事情

var input = $("#input").val();

$.ajax({
type:"GET",
url:"go.php",
data:{input:input},
success:function(data){
    console.log(data); //data outputs https://mp3skull.wtf/search_db.php?q=&fckh=1d41a1579f21a921d1008d90dc6246a7
}
 });

希望这会有所帮助

答案 2 :(得分:-1)

如果您有以下Html:

<input type="text" class="field" />
<input type="button" class="button">

您应该使用以下脚本:

$(document).ready(function() {
    $('.button').click(function(){
        $.ajax({
            type:"GET",
            url:"go.php",
            data:{'input':$('input.field').val()},
            success:function(data){
                console.log(data);
            }
        });
    });
});

答案 3 :(得分:-2)

我认为这是因为当您在&#34;数据中发送数据时:{input:input}&#34;正在定义具有相同名称的变量输入。它应该是那样的

 var inputValue = $("#idInput").val();
 $.ajax({
    type:"GET",
    url:"go.php",
    data:{input:inputValue},
    success:function(data){
        console.log(data);
    }
});