我对 jquery $.ajax 有两个问题。 第一个问题是我有一个名为 action.php 的 php 文件,这里是代码:
if($_GET['action']=='add'){
//rest of the code here
}
我使用 jquery $.Ajax 函数在表单填充时调用它:
$.ajax({type:"POST", url:"action.php?action=add", data:$("#form").serialize(), cache:false, timeout:10000});
这可行,但我想知道是否可以发送带有数据而不是网址的 action=add 代码?
我遇到的第二个问题是我有一个链接:
<a href="#" onclick="delete(4);">delete row from mysql where id is 4</a>
和一个 jquery 函数:
function deleteUser(id){
$.ajax({type:"POST", url:"action.php?action=delete", data:"id="+id, cache:false, timeout:10000});}
当然还有action.php代码:
if($_GET['action']=='deletestudent'){
mysql_query("DELETE FROM `students` WHERE `student_id` = {$_POST['id']}");
}
但它不起作用。我该怎么办?
最佳答案
第一部分:是
var postData = $("#form").serialize();
postData.action = 'add';
$.ajax({
type:"POST"
, url: "action.php"
, data: postData
, cache: false
, timeout:10000
});
对于第二部分:这不起作用,因为您的“操作”值不一致:delete
与 deletestudent
。您的函数名称也不是:delete()
与 deleteUser()
此外,我还建议在该查询中应用一些 SQL 注入(inject)保护。
关于php - jquery $.ajax 到 php 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2675687/