Я пытаюсь передать данные JSON из мобильного приложения через вызов AJAX. Мой Ajax-вызов
$.ajax({
type: 'GET',
data: postData,
jsonp: "callback",
dataType: 'jsonp',
url: 'http://*****.*****.org.in/qr.php',
success: function(data){
$ionicLoading.hide();
console.log(data);
alert('Your data was successfully added');
$location.path('/home');
},
error: function(data,error){
$ionicLoading.hide();
console.log(error);
alert('There was an error adding your data');
}
});
Значение в postData
{ event_name: "Contraptions" event_type: "Engineering" participant_type: "Individual" place: "Third" qr1: "amsds" qr2: "" qr3: "" qr4: "" qr5: "" round: "3" teamname: ""}
Я мог видеть postData JSON в консоли.
Мой код на стороне сервера qr.php
<?
try
{
$callback = isset($_GET['callback']) ? preg_replace('/[^a-z0-9$_]/si', '', $_GET['callback']) : false;
header('Content-Type: ' . ($callback ? 'application/javascript' : 'application/json') . ';charset=UTF-8');
$json = json_decode('postData');
$data = array('status' => $json );
echo ($callback ? $callback . '(' : '') . json_encode($data) . ($callback ? ')' : '');
}
catch(Exception $e)
{
echo $e;
}
?>
Но декодированный $ json равен NULL.
Как я должен получить данные JSON и декодировать тот JSON, который был передан от клиента ?????
Создать правильный объект в JavaScript
F.I.
var data = {event_name: "Contraptions", event_type: "Engineering", participant_type: "Individual"};
и использовать
data : {postData: JSON.stringify(data)};
в вызове Аякса.
Других решений пока нет …