Javascript 未收到从ajax到PHP文件的值
首先,这是我的代码: 带Javascript的HTML:Javascript 未收到从ajax到PHP文件的值,javascript,php,ajax,Javascript,Php,Ajax,首先,这是我的代码: 带Javascript的HTML: function getValues(){ var filter; $.ajax({ type: "POST", url: "myphpfile.PHP?action=sek", data: "id=1", async: false, success: function(ret){
function getValues(){
var filter;
$.ajax({
type: "POST",
url: "myphpfile.PHP?action=sek",
data: "id=1",
async: false,
success: function(ret){
filter = ret;
}
});
console.log(filter);
PHP myphpfile.PHP:
if(isset($_GET['action'])){
print myfunction($_GET['action'],$_GET['id']);
}
我的问题是:
当我尝试用console.log打印结果时,会打印整个myphpfile.php。
据我所知,这意味着没有值到达HTML文件。但是为什么呢
函数myfunction有结果,我先试用过。此函数返回一个数组。我不能在这里显示这个函数
我不明白我做错了什么,请看一看,这让我发疯
提前谢谢 更改PHP文件请求
if(isset($_GET['action'])){
print myfunction($_GET['action'],$_GET['id']);
}
您还可以在Javascript中首先使用。:
function getValues(){
var filter;
$.ajax({
type: "POST",
url: "myphpfile.PHP?action=sek",
data: "id=1",
async: false,
success: function(ret){
filter = ret;
}
});
console.log(filter);
函数getValues{
var滤波器;
$.ajax{
类型:POST,,
url:myphpfile.PHP?action=sek,
数据:{id:1},
async:false,
成功:functionret{
过滤器=ret;
}
};
console.logfilter;操作位于$\u GET super global中,id位于$\u POST super global中
PHP:
此外,您需要将对象传递给数据参数,而不是字符串:
JS:
首先,您正在使用AJAX发出post请求,然后期望函数中出现get请求!将console.log移到success callback中可能只有“action”的副本将出现在get数组中,而不是“id”。“$\u POS['id']`对$\u post['id]的更改是的。完成,谢谢!
$.ajax({
type: "POST",
url: "myphpfile.PHP?action=sek",
data: {id: "1"},
async: false,
success: function(ret){
filter = ret;
}
});