简体   繁体   中英

Call the php function using ajax

I have a editor embeded in the html page

<div id="editor">
Problem Statement goes here&hellip;
</div>

I basically want to store the contents written in editor to a file(preferably in rich text format). I used a script (given below) for storing the contents in a string.(This I used by referring to HTML div text to save and display )

<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
     var StoreEditorContent;  //declare a variable to save Content

      document.getElementById('save').addEventListener("click", SaveText);  // adding event listner for onclick for Saving text

    function SaveText(){

       StoreEditorContent = document.getElementById('editor').innerHTML; // Save the Content into 
       document.getElementById('editor').innerHTML = ""; // to blank the editor Content
       window.onload = function(){

                $.ajax({
                    url: "submit_request.php",
                    type: "GET",
                    success: function writeMsg(StoreEditorContent){
                       //Not sure if this part is right.
                    }
                });   
        }
    }

    </script>

This of course is storing in the contents in a string StoreEditorContent . I now want to pass this string to a php function which will write this( StoreEditorContent ) to a file.The php file that contains function to write is given below

<?php

function writeMsg($msg){
    $file = "myfile.txt";
    file_put_contents($file, $msg);
}
?>

I know I need to use ajax here, but cannot figure out how? Any help appreciated.

You need to provide a data: option to $.ajax() :

$.ajax({
    url: "submit_request.php",
    type: "POST",
    data: { content: StoreEditorContent },
    success: function (response) {
        // Do something with the response sent from PHP
    }
});

Then your PHP can do:

writeMsg($_POST['content']);

You should use POST rather than GET for large requests because the limit on GET parameters is relatively small.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM