Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use jQuery´s $.ajax() function to run php script? [duplicate]

Tags:

jquery

ajax

php

xml

To make this understandable I made an sample code because my actual code is much bigger.

Basically what I want to accomplish is to run my PHP script that edits an XML file using ajax. This is because I need to do this inside a javascript in my real project.

This is what I have so far:

the .php file containing the ajax function:

<!DOCTYPE html>
<html>
<head>
<script>
function editXMLDoc()
{
  $.ajax({
  url: "sensors.php",
  context: document.body
}).done(function() {
  $( this ).addClass( "done" );
});
}
</script>
</head>
<body>

<button type="button" onclick="editXMLDoc()">Endre XML</button>

</body>
</html>

And here is the php script writing to xml:

<?php
include 'sensor.php';
$b=new sensor();

$arr=$b->load('sensor.xml');         

for($i=0,$ms=count($arr);$i<$ms;$i++)
{
  if($arr[$i]['fields']['status']=='1')
  {
     $arr[$i]['fields']['status']='0';
  }else{
    $arr[$i]['fields']['status']='1';
  }
}
echo "Completed<br/>";
//3. save array to xml
$b->save('sensor.xml',$arr);
?>

I know the script is working so I am pretty sure the prob is the connection between the ajax function and the php script.

Can anyone help me out?

like image 819
The Dude Avatar asked Oct 15 '25 13:10

The Dude


1 Answers

Use AJAX like this:

<script type="text/javascript">
  jQuery(document).ready(function($){

    $('.rt11').click(function(){

        $.ajax({
            type: "POST", // Method type GET/POST           
            url: "sensors.php", //Ajax Action url
            data: {yourKey: "yourValue", yourKey1: "another value"},

            // Before call ajax you can do activity like please wait message
            beforeSend: function(xhr){
                console.log("Please wait...");
            },

            //Will call if method not exists or any error inside php file
            error: function(qXHR, textStatus, errorThrow){
                console.log("There are an error");
            },

            success: function(data, textStatus, jqXHR){
                console.log(data);
            }
        });

    });

});
</script>
like image 191
Sateesh Avatar answered Oct 18 '25 11:10

Sateesh



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!