Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
116
rated 0 times [  120] [ 4]  / answers: 1 / hits: 29461  / 11 Years ago, wed, may 22, 2013, 12:00:00

i want to get data that's loaded in my PHP file in javascript.
This is what I do:



$(#submit).click(function() {
// GET VALUE OF APPID
var appid = $(#appid).val()
// GET JSON FROM PHP SCRIPT
$.ajax({
type: 'GET',
url: '../loadjson.php',
data: {
'appid': appid
},
success: function (data) {
alert('success');
},
error: function(jqXHR,error, errorThrown) {
if(jqXHR.status&&jqXHR.status==400){
alert(jqXHR.responseText);
}else{
alert(Something went wrong);
}
}
});

});


When I click a button I get the value of a textbox and call ajax function.
my javascript file is located in root/js/file.js and my php file in root/loadjson.php



My PHP file:



<?php

if(isset($_POST['appid']) && !empty($_POST['appid'])) {
$appid = $_POST['appid'];
}
$json_url ='http://api.url.com/api/gateway/call/1.4/getApp?appid=' . $appid;

$ch = curl_init($json_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$str = curl_exec($ch);
curl_close($ch);

$data = json_decode($str);

$array = $data;
$object = $array->app[0];

echo $object;


?>



The problem is I get always an alert box with Something went wrong but I can't find the solution. Does someone see my fault?



I get this:
enter



jsfiddle: http://jsfiddle.net/wKe2U/


More From » php

 Answers
142

You are not preventing your form submission, you are using form and
input button submit type. So, while you clicking on that button your
form being submit. So, first you stop your form submission in your
ajax code.



Second thing is that you are using method get in your ajax code and
trying to get values by 'POST' in your php code. So, kindly use $_GET
or change ajax code type: 'POST'



Third thing is that your url is invalid you should use
url:'loadjson.php'




here I am sharing code:



//Ajax code
$(function () {
$(#submit).click(function (e) {
// stop form submission first
e.preventDefault();
// GET VALUE OF APPID
var appid = $(#appid).val()
// GET JSON FROM PHP SCRIPT
$.ajax({
type : 'POST',
url : 'loadjson.php',
data: {'appid':appid},
success : function (d) {
alert(d);
},
error : errorHandler
});
});
});

function errorHandler(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.n' + jqXHR.responseText);
}
}


Hope, you understand where you were wrong :)


[#78093] Monday, May 20, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
parisc

Total Points: 438
Total Questions: 119
Total Answers: 119

Location: Turkmenistan
Member since Sat, Apr 16, 2022
2 Years ago
;