Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过ajax将javascript变量传递给PHP?_Javascript_Php_Jquery_Ajax - Fatal编程技术网

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

无法通过ajax将javascript变量传递给PHP?,javascript,php,jquery,ajax,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

我在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
?>

如果您有以下Html:

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

我认为这是因为当您在“data:{input:input}”中发送数据时,您使用相同的名称定义变量input。应该是这样的

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

首先,您需要将其声明为变量。第二,你的变量真的有值吗?我会给你一个例子,你可以运行你的代码,像这样做

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
}
 });

希望这有助于代码正常工作,您可能需要
控制台。从ajax调用外部记录

您如何以及在何处填充js变量
输入
?您是否使用
$link
执行其他操作?我认为JS可以处理用
+
s替换空格的问题。确保输入作为一个值进入php。如果未定义,$link将未定义。
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
}
 });