我已经想了几个小时了。。。
我正试图通过从包含在<input>
标记中的jQuery滑块中获取值来使用AJAX。AJAX不会失败(请参阅代码),当我通过Data:
发送console.log
变量时,它会正确打印出来。
注意:jQuery和php在同一个页面上,因此不使用url:
参数,也不使用您将要调用的任何参数。
这是<script>
部分:
jQuery(function($){
$("input[id='protein-slider']").ready(function(){
var p_range;
var request;
$("input[id='protein-slider']").each(function () {
p_range = $(this).val();
});
console.log(p_range) //Returns correct values
request = $.ajax({
type: "POST",
data: p_range,
});
request.done(function (response, textStatus, jqXHR){
console.log("Hooray, it worked!"); //This prints, no error
});
request.fail(function (jqXHR, textStatus, errorThrown){
console.error(
"The following error occurred: "+
textStatus, errorThrown
);
});
});
});
与该函数相关的CCD_ 6代码为:
echo $_SERVER['QUERY_STRING']; //returns nothing
$income_data = $_GET['p_range'];
echo $income_data; //returns nothing
var_dump($income_data); //returns "NULL"
我已经记不清我做过的所有其他方法,以及我在这里读过的无数awnser。似乎都不起作用,而且越来越令人沮丧。。。
希望你们中的一个人能发现我在做的蠢事。。。
谢谢!
您的ajax用于POST,将其更改为GET
request = $.ajax({
type: "POST",
data: p_range,
});
或者你在php中访问你的参数作为
$var = $_POST['p_range'];
您的数据需要在密钥/值对中
data: {p_range: p_range},
和
$income_data = $_POST['p_range'];