我有一个带有php函数的文件,名为function_query.php
function_query.php
<?php
$connection = mysqli_connect( "localhost","root","","mydb");
function query1($connection){
//my query
}
function query2($connection){
//my query
}
?>
然后在另一个名为mypage.php的文件中,我想用jquery $ .post发布一些数据 ,但我不知道如何使用jquery $ .post调用特定函数,我的脚本是这样的
mypage.php
<?php include_once('function_query.php')?>
<button id="btn-save"> Save </button>
<script type="text/javascript">
$('#btn-save').on('click',function(e) {
$.post(base_url + "function_query.php/query1", {}, function(res) {
alert('Save!');
});
});
</script>
当我运行该脚本时,它没有错误,但我的数据没有保存到我的数据库
我如何在javascript中调用该函数?
谢谢
答案 0 :(得分:2)
您可以在php文件中添加条件并从php文件中获取javascript中的数据,例如$ _POST [&#39; query_type&#39;],然后您可以调用函数将数据保存到数据库中。
你的function_query.php文件:
<?php
function query1($data){
//your query
}
function query2($data){
//your query
}
$query_type = $_POST['query_data'];
$data['name'] = $_POST['name'];
$data['family'] = $_POST['family'];
if($query_type == 'insert'){
query1($data);
} else {
query2($data);
}
?>
这可以是你的jquery代码:
$.post( "function_query.php", {
query_data: "insert",
name: "Muhammad",
family: "Rifqi"
});
答案 1 :(得分:0)
您使用的是 function.php / query1 ,但您的文件名是 function_query.php
试试这个
$('#btn-save').on('click',function(e) {
$.post(base_url + "function_query.php/query1", {}, function(res) {
alert('Save!');
});
});
并从函数中删除 $ connection 并在函数
中使用它<?php
$connection = mysqli_connect( "localhost","root","","mydb");
function query1($data){
//my query
}
function query2($data){
//my query
}
?>
你也可以尝试这个
<script>
$.ajax({
url:base_url + "function_query.php/query1",
type:'post',
dataType:'json',
contentType:'application/json',
data:JSON.stringify({your data will goes here })
success:function(data){
console.log(data);
},
error:function(err){
console.log(err)
}
})
</script>
答案 2 :(得分:0)
你需要处理函数调用的请求。
<强> function_query.php 强>
<?php
$connection = mysqli_connect( "localhost","root","","mydb");
if(isset($_REQUEST['query1']))
query1();
else if(isset($_REQUEST['query2']))
query2();
function query1(){
//my query
}
function query2(){
//my query
}
?>
并在你的mypage.php中输入filename.php?functionname .....
mypage.php
保存
$('#btn-save').on('click',function(e) {
$.post(base_url + "function_query.php?query1", {}, function(res) {
alert('Save!');
});
});
答案 3 :(得分:0)
试试这个
<button id="btn-save"> Save </button>
<script type="text/javascript">
$('#btn-save').on('click',function(e) {
$.post("test1.php?func=query1", {a:'abc'}, function(res) {
alert(res);
});
});
</script>
和php看起来像这样
$_GET['func']();
function query1(){
//my query
echo $_POST['a'];
echo 'yyy';
}
function query2(){
//my query
echo 'nnn';
}
echo 'no';