无法通过ajax将javascript变量传递给PHP?
我在stackoverflow搜索了几个QA,似乎没有一个解决方案有用。我正试图将无法通过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
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
}
});