2016-03-14 25 views
-3
function aggiungifav(){ 
    document.getElementById("addfav").style.display = "none"; 
    document.getElementById("delfav").style.display = "block"; 
    <?php 
     mysql_connect("localhost", "", ""); 
     $utente = $_COOKIE['id_utente']; 
     $id_locale = $_GET['id']; 
     mysql_select_db("my_db"); 
     mysql_query("INSERT INTO preferito (utente,locale) VALUES ('$utente', '$id_locale')");  
    ?> 
} 

显然这是错误的,但我张贴它让你明白我想要做什么。根据stackoverflow上的很多答案,Ajax是必需的。但我从来没有用过,所以有人可以帮助我?我还有其他的功能,但是如果你给我看这个,我会理解它是如何工作的,然后我会自己做其他的。由于如何使用ajax从javascript调用php函数

+2

'照了很多在这里计算器的答案,Ajax是needed'。为什么不尝试其中的任何人? –

+0

你使用jQuery吗? –

+0

请参阅jQuery的$ .ajax()方法。然后对使用json_encode()输出json数据做一些研究。我建议使用json数据并传递数据对象。 – jjwdesign

回答

0

AJAX不是混合使用客户端和服务器端的代码,因为你的尝试方式暗示。这只是一种从客户端代码发出HTTP请求而不刷新页面的方式。

例如,假设你有一个PHP页面是这样的:

<?php 
    require('some_functions.php'); 
    some_function(); 
?> 

这一切确实是进口具有一定功能的脚本,并调用这些功能之一。因此,为了从客户端代码“调用该函数”,您只需要请求该页面。就像您在浏览器中输入此页面的地址并加载它一样。 (虽然它有没有输出,当然。)

既然你标记与jQuery的问题,我会承担its use。所以,你的客户端代码可能是这样的:

$.ajax({ 
    url: 'your_page.php' 
}).done(function() { 
    alert('success'); 
}).fail(function() { 
    alert('error'); 
}) 

注意添加特别donefail回调函数。不要假设成功并以某种方式检查AJAX调用的响应非常重要。

,这自然可以得到相当复杂。服务器端页面可以有输出(可能在HTML中,尽管通常JSON数据是首选,因为页面的HTML应该已经在浏览器中,并且它只需要来自服务器的数据),可以发送额外的成功/错误信息,数据可以发布到服务器等Check the documentation为jQuery提供的所有选项$.ajax()函数。无论你需要什么这个代码做细节


,主要的一点夺去这是您的客户端代码不呼叫服务器端代码的函数。它请求某种页面。该页面具有像任何其他PHP页面一样的服务器端代码,并通过发送输出来响应该请求。

这一切都只是HTTP请求和响应。