John_P
John_P

Reputation: 103

php sending values to ajax faild error

I Am trying to send value from ajax to php and retrieve it just to test that everything is work, when i click in a button to test i got error and alert('Failed') Appears , how can i fix it in order to get success? thanks

Ajax :

  var a = "test";
    $.ajax({
            url: "search.php",
            dataType: "json",
            data: a ,
            success: function(data) {
               alert('Successfully');
            }, 
            error: function(data) {
               alert('Failed');
           }
        })

PHP :

    <?php
        $pictures = "img1";
        echo json_encode($pictures); 
    ?>

Upvotes: 0

Views: 50

Answers (3)

Konstantinos
Konstantinos

Reputation: 973

Your ajax is wrong, it should be:

var a = "test";
$.ajax({
    type: "POST",
    url: "search.php",
    dataType: "json",
    data: {a:a},
    success: function(data) {
        alert('Successfully');
    },
    error: function(data) {
        alert('Failed');
    }
});

Upvotes: 0

VaioWay
VaioWay

Reputation: 402

If you're requesting a JSON, use the $.getJSON from jQuery, it's aready parse the JSON into a JSON object for you.

Seems that you're not return an actual JSON from server, maybe this is what is causing the error.
If you're seeing the 'Failed' message probably the problem is a 500 error which is a server error.

Try this code above.

Javascript:

var a = "test";

$.getJSON("search.php", {
  a: a
}, function (json) {
  console.log(json);
});

PHP:

<?php
$pictures = ["img1"];
echo json_encode($pictures);

The only way to this not work, is if you have a huge mistake on you webserver configuration.

Upvotes: 0

cosmoonot
cosmoonot

Reputation: 2189

I refined your code slightly and it works.

    var a = "test";
    $.ajax({
        type: 'POST',
        url: 'search.php',
        data: 'a=' + a,
        dataType: 'json',
        cache: false,
        success: function (result) {
          alert('Successful');  
        },
        error: function (result) {
          alert('Failed');
        }
    });

Upvotes: 1

Related Questions