ここでは、JSONPリクエストを実行しています。これにより、オブジェクトリテラルがコールバック関数に渡されます。
私の問題:
1.filename.phpから、次のような2つの異なる配列を渡します。
echo $_GET['jsoncallback'] . '(' . json_encode($manufacturers). ');';
echo $_GET['jsoncallback'] . '(' . json_encode($Stock). ');';
2.一度に1つのアレイのみを出力として受け取ります。3.両方の配列が必要です。
function onLoad(){
var output = $('#product');
$.ajax({
url:'filename.php',
data : {type : 'details'},
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success:function(data){
$.each(data, function(c,prdetail){
if(prdetail.field_name=='' || prdetail.field_name==undefined )
{
var firstdata= '<h2 >'+prdetail.field_name1+ '</h2>';
output.append(firstdata);
}
else
{
var secondata ='<h2 >'+prdetail.field_name2+ '</h2>';
output.append(secondata);
}
});
}
});
}
FILENAME.PHP
if($status=1)
{
$manufacturers_sql = mysql_query('select * FROM tablename');
$rowcount = mysql_num_rows($result);
$records = array();
$row = mysql_fetch_assoc($result);
$records[] = $row;
echo $_GET['jsoncallbacks'] . '(' . json_encode($records) . ');';
}
else
{
$manufacturers_sql = mysql_query('select * FROM tablename');
$rowcount = mysql_num_rows($result);
$records = array();
$row = mysql_fetch_assoc($result);
$records[] = $row;
echo $_GET['jsoncallbacks'] . '(' . json_encode($records) . ');';
}