jQuery AJAX Call to PHP Script with String Return

JavaScript and client side scripting.

Moderator: General Moderators

Post Reply
User avatar
rugved
Forum Newbie
Posts: 23
Joined: Tue Dec 03, 2013 12:33 am
Location: Cyber World

jQuery AJAX Call to PHP Script with String Return

Post by rugved »

Hello!

My aim here is to replicate the Hot Towel SPA framework from ASP.NET in PHP.

I have two files in my project: show.js and displaystring.php. What I basically want to do is return whatever is present in the displayString() function. But due to a series of unsuccessful attempts, I inserted the debugger statement in the shows.js file (as marked in the source code below) to find out what's wrong. When I run the project in Google Chrome and open the developer tools (Ctrl + Shift + i), I see that the program flow stops at the debugger statement (as expected) and when I hover my mouse over the data variable in the success property, I see that the displaystring.php file returns me the entire html source code instead of just returning the ".$_POST('string'); statement.

I have gone through many solutions on the internet but to no avail. Can anyone please tell me where exactly am I going wrong? Thank you.

main.js file source code:

Code: Select all

define(function (require) {

    var val = "";
    //var moviesRepository = require("repositories/moviesRepository");

    $.ajax({
      url: "controllers/displaystring.php",
      type: "post",
      data: {input:"show"},
      datatype: 'json',
      success: function(data){
            val = data;      
        debugger; // Debugger inserted here.
      }});

    return {
        result: ko.observable(),

        activate: function() {
            this.result(val);
        }
    };
});
displaystring.php source code:

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>String Display</title>
</head>

<body>
<?php
    function displayString() {
        return "The string passed is: ".$_POST('string');   
    }

    displayString();
?>
</body>
</html>
User avatar
rugved
Forum Newbie
Posts: 23
Joined: Tue Dec 03, 2013 12:33 am
Location: Cyber World

Re: jQuery AJAX Call to PHP Script with String Return

Post by rugved »

Okay after banging my head against a stone wall for the whole day, I figured out the solution myself.

I just modified the code a bit to serve the purpose of finding the answer to my question.

show.js

define(function (require) {
return {
result: ko.observable(),

activate: function() {
//var moviesRepository = require("repositories/moviesRepository");
var self = this;
$.ajax({
url: "controllers/displaystring.php",
type: "get",
data: {input:"show"},
dataType: "html",
success: function(data){
self.result(data);
debugger;
}});
}
};
});

displaystring.php

Code: Select all

<?php
    function display() {
        echo 'Hi I am some random '.rand().' output from the server.';
    }
    display();
    //echo "Hello World!";
?>
And that's it! You don't have to type the entire HTML code for the PHP file. Just include the PHP script and you will get the output.
Post Reply