آموزش Ajax در PHP و کار با Json در PHP :
در صورتیکه کدها را به صورت لوکال اجرا می کنید باید برروی سیستم وب سرور و PHP نصب شده باشند .
فراموش نکنید که jQuery را در <head> صفحه اضافه کنید
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
یک فایل با نام js-ajax-php-json-usage.html ایجاد کرده و کدهای زیر را در آن کپی کنید :
<!--کد های زیر را در قسمت <head> کپی کنید--> <script type="text/javascript"> $("document").ready(function(){ $(".js-ajax-php-json").submit(function(){ var data = { "action": "test" }; data = $(this).serialize() + "&" + $.param(data); $.ajax({ type: "POST", dataType: "json", url: "response.php", //Relative or absolute path to response.php file data: data, success: function(data) { $(".the-return").html( "Favorite beverage: " + data["favorite_beverage"] + "<br />Favorite restaurant: " + data["favorite_restaurant"] + "<br />Gender: " + data["gender"] + "<br />JSON: " + data["json"] ); alert("Form submitted successfully.\nReturned json: " + data["json"]); } }); return false; }); }); </script> <!--کد های زیر را در <body> کپی کنید --> <form action="return.php" class="js-ajax-php-json" method="post" accept-charset="utf-8"> <input type="text" name="favorite_restaurant" value="" placeholder="Favorite restaurant" /> <input type="text" name="favorite_beverage" value="" placeholder="Favorite beverage" /> <select name="gender"> <option value="male">Male</option> <option value="female">Female</option> </select> <input type="submit" name="submit" value="Submit form" /> </form> <div class="the-return"> [HTML is replaced when successful.] </div>
یک فایل با نام response.php ایجاد کرده و کدهای زیر را در آن وارد کنید :
- می توان به کل JSON بازگشتی با استفاده از data[“json”] دسترسی پیدا کرد.
- برای دسترسی به داده خاصی در JSON می توان از data[“name”] استفاده کرد.
<?php if (is_ajax()) { if (isset($_POST["action"]) && !empty($_POST["action"])) { //بررسی اینکه مقداری در action وجود دراد یا نه $action = $_POST["action"]; switch($action) { //این سویچ برای بررسی مقدار action است case "test": test_function(); break; } } } //تابعی برای بررسی درخواست که آیا AJAX ی است یا نه function is_ajax() { return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'; } function test_function(){ $return = $_POST; //برای استفاده از داده ها می توانید از کدهای زیر استفاده کنید . //if ($return["favorite_beverage"] == ""){ // $return["favorite_beverage"] = "Coke"; //} //$return["favorite_restaurant"] = "McDonald's"; $return["json"] = json_encode($return); echo json_encode($return); } ?>