尝试使用Ajax调用php函数不起作用 - javascript

我正在尝试将一些变量传递给使用Ajax的php文件

$(document).ready(function(){
        $("button").click(function(){
            var id = this.id;
            var name=this.name;
            console.log(id+" "+name);
            $.ajax({
            		    type: 'GET',
            		    url: 'utility.php',
            		    dataType: 'text',
            		    data: {id: id, name: name},
            		    success: console.log('aa'),
            		    //error: function( jqXhr, textStatus, errorThrown ){ console.log( errorThrown ); },
            		    //complete: alert(id+' '+name)
            }); // Ajax Call
        }); //event handler
    }); //document.ready

<?php
warning('getting something');
if($_GET['id'] && $_GET['name']){
	$id=$_GET['id'];
	$name=$_GET['name'];
	if($id=='delete'){
		my_remove($name);
	}
	if($id=='modify'){
		retrieve($name);
		my_remove($name);
		modify($name);
	}
}
else {
	warning('unable to get information');
}

function my_remove($name){
	warning('deleting');
	//mysqli_query($con,"DELETE FROM `book`.`".$page."` WHERE `".$page."`.`name` =\'".$name."\'");
	//echo "<script type='text/javascript'>alert('$name');</script>";
}

function modify($name){
	warning('modified');
}

function retrieve($name){
	warning('fetching');
}

function warning($message){
	echo "<script type='text/javascript'>alert('$message');</script>";
}

?>

.js部分似乎运行平稳,它按需设置名称和ID并返回成功消息,但是没有其他任何事情发生,甚至警报('getting something')都应该运行,而无论参数如何。
打印出数据会得到[object Object],我什至不知道这意味着什么。
请帮忙!

参考方案

由于您的php脚本与ajax调用一起在后台运行,因此我认为该页面中的警报代码不起作用。而是尝试将纯文本返回给ajax函数并在那里警告它

$(document).ready(function(){
        $("button").click(function(){
            var id = this.id;
            var name=this.name;
            console.log(id+" "+name);
            $.ajax({
                        type: 'GET',
                        url: 'utility.php',
                        dataType: 'text',
                        data: {id: id, name: name},

            }).done(function(text){
               alert(text);
            }); // Ajax Call
        }); //event handler
    }); //document.ready

和你的PHP文件这样。我改变了你的warning功能

<?php
warning('getting something');
if($_GET['id'] && $_GET['name']){
    $id=$_GET['id'];
    $name=$_GET['name'];
    if($id=='delete'){
        my_remove($name);
    }
    if($id=='modify'){
        retrieve($name);
        my_remove($name);
        modify($name);
    }
}
else {
    warning('unable to get information');
}

function my_remove($name){
    warning('deleting');
    //mysqli_query($con,"DELETE FROM `book`.`".$page."` WHERE `".$page."`.`name` =\'".$name."\'");
    //echo "<script type='text/javascript'>alert('$name');</script>";
}

function modify($name){
    warning('modified');
}

function retrieve($name){
    warning('fetching');
}

function warning($message){
    echo $message;
}

?>

如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript

我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …

打印二维阵列 - javascript

我正在尝试打印子元素。在this example之后。怎么做?。$myarray = array("DO"=>array('IDEAS','BRANDS','CREATIVE','CAMPAIGNS'), "JOCKEY"=>a…

执行onclick时获得意外令牌 - javascript

我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…

Javascript到PHP的转换 - javascript

我有一个libphonenumber软件包的javascript端口,它具有以下功能:function cleanPhone(a){ a=a.replace(/[^\d\+]/g,""); return a="+"==a.substr(0,1)?"+"+a.replace(/[^\d]/g,…