Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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中的函数调用为php函数并等待响应_Php_Javascript_Html_Ajax - Fatal编程技术网

如何将ajax中的函数调用为php函数并等待响应

如何将ajax中的函数调用为php函数并等待响应,php,javascript,html,ajax,Php,Javascript,Html,Ajax,HTML: 插入的功能是: if(isset($_GET['user']) && isset($_GET['action_request'])) { if(strcmp($_GET['action_request'],"friend_request") == 0) { insert_friendship($id_user1,$id_user2); } } 另外,我正在使用smarty引擎进行模板制作 如何使用ajax从标记获取url并将其发送到p

HTML:

插入的功能是:

if(isset($_GET['user']) && isset($_GET['action_request'])) {
     if(strcmp($_GET['action_request'],"friend_request") == 0) {
        insert_friendship($id_user1,$id_user2);
   }
}
另外,我正在使用smarty引擎进行模板制作


如何使用ajax从
标记获取url并将其发送到php页面以调用函数,然后使用ajax等待响应并将其发送到html。

使用ajax可以使用jQuery.ajax()

使用ajaxu必须在单击
标记时调用ajax函数,并且必须在ajax函数上指定url

如果您想使用ajax从
标记获取url并将其发送到php页面,则必须使用
e.preventDefault()防止默认点击
标记并使用url调用ajax

试着做点像这样的事情,然后努力解决

  //sql string
   if(sql_insert()) {
      return "Friendship request sent!";
      } else {
       return "Friendship request failed!"; }

在$(document).ready()内调用此函数。

在页面中包含jquery

$('selector').click(function(){
e.preventDefault();
var url = $(this).attr('href');
$.ajax({
  url: url,
  success: function(data) {
    //do something
  }
});
})

document.getElementById(“ajax_a”).addEventListner(“单击”,函数(e){
e、 预防默认值();
var uri=document.getElementById(“ajax_a”).getAttribute(“href”);
$.ajax({
url:uri,
键入:“获取”,
数据:{},
数据类型:“html”,
成功:功能(数据){
//数据是服务器返回的值。
},
错误:函数(){
警报(“发生了一些错误”);
//数据是服务器返回的值。
}
});
});

我已经包含了这个脚本,但它不会调用php脚本。成功或出错时,它不会返回任何内容。我还包括了jqeury库的最新版本。在数据中:{}我应该写函数名还是这样写?正如您所看到的,success函数在这里什么都不做。。所以在success函数中省略一些类似于alert(“data”)的东西。同样,您需要从php函数返回一个HTTPResponse。查看HTTPResponse php手册。类似这样,->HTTPResponse::status(200);HttpResponse::setContentType('text/xml');HttpResponse::setData('友谊请求已发送!');HttpResponse::send();
$('selector').click(function(){
e.preventDefault();
var url = $(this).attr('href');
$.ajax({
  url: url,
  success: function(data) {
    //do something
  }
});
})
<script type="text/javascript">
    document.getElementById("ajax_a").addEventListner("click", function(e){
        e.preventDefault();
        var uri = document.getElementById("ajax_a").getAttribute("href");
        $.ajax({
            url: uri,
            type: "GET",
            data: {},
            dataType: "html",
            success: function(data){
                // data is the value returned by server.
            },
            error : function(){
                alert("some error occured");
                // data is the value returned by server.
            }
        });
    });
</script>

<a id="ajax_a" href="/profile.php?user={$username}&action_request="friend_request">
Friend request
</a>