مشکل ارسال و دریافت ارایه با ایجکس
سلام
من میخوام سه تا پارامتر با ایجکس بفرستم برای یه صفحه php و یه خروجی ارایه بگیرم ظاهرا مقدار ارسال میشه اما اطلاعاتی بر نمیگرده ارروی هم ایجاد نمیشه
http://up.p30parsi.com/out.php/i199555_01.jpg
ظاهرا مقدار ارسال میشه اما نمیدونم جرا خروجی ندارم
http://up.p30parsi.com/out.php/i199556_02.jpg
قرار وقتی رو مقدار select تغییر میده سه تا مقدار ارسال کنه به یه صفحه php
<select id="DropDownList{$obj->basketAll[i].orderdetailsid}" data-max="2" commandname="Edit" onchange="sendcountproduct('{$obj->basketAll[i].orderdetailsid}','{$obj->basketAll[i].users_id}');" name="">
{foreach from=$obj->num key=k item=v}
{if $obj->basketAll[i].count == $v}
<option value="{$v}" selected="selected">{$v}</option>
{else}
<option value="{$v}">{$v}</option>
{/if}
{/foreach}
</select>
اینم کد جی کوئریم
function sendcountproduct(id,usersID)
{
var select = $("#DropDownList"+id+"").val();
$.ajax({
type: 'POST',
url: 'business/ajaxFunctions/basket.php',
data: JSON.stringify({ "ajaxcountproduct":select, "ajaxIDOrderdetailsid":id , "ajaxusersIDProduct":usersID }),
contentType : 'application/json',
cache: false,
success: function(result){
$('#popupCartItems').html(result['countall']);
$('#sumAllProduct').html(result['sum']);
},
});
}
اینم کدهای صفحه php که قرار خروجی به صورت ارایه برگردونه
if(isset($_POST['ajaxcountproduct']) && isset($_POST['ajaxIDOrderdetailsid']) && isset($_POST['ajaxusersIDProduct']))
{
$count = (int)$_POST['ajaxcountproduct'];
$id = (int)$_POST['ajaxIDOrderdetailsid'];
if(BASKET::orderdetails_InsertCalculate($id,$count ))
{
$sum = "";
$result = BASKET::orders_SelectCountAlll($_POST['ajaxusersIDProduct']);
$marys = BASKET::orders_SelectBasketAll($_POST['ajaxusersIDProduct']);
for($i=0;count($marys)>$i;$i++)
{
$marys[$i]['sum'] = $marys[$i]['count'] * $marys[$i]['price'];
$sum += $marys[$i]['sum'];
}
$array = array('countall'=>$result['countall'],'sum'=>"$sum");
echo json_encode($array);
}
}
ممنون میشم راهنماییم کنید.:لبخندساده:
نقل قول: مشکل ارسال و دریافت ارایه با ایجکس
سمت سرور با json_encode کدها رو تبدیل به JSON کنید و سمت کلاینت هم اینطوری بخونید:
for(var i in json_data) {
// i is key
// json_data[i] is value
}
نقل قول: مشکل ارسال و دریافت ارایه با ایجکس
نقل قول:
نوشته شده توسط
MMSHFE
سمت سرور با json_encode کدها رو تبدیل به JSON کنید و سمت کلاینت هم اینطوری بخونید:
for(var i in json_data) {
// i is key
// json_data[i] is value
}
ببخشید یه سوال با روش post وقتی اطلاعات میفرستم اولش چک میکنم که این مقدار وجود داشته باشه
برای این روش چطوری باید چک کنم اگه وجود داشت بعد حلقه اجرا بشه
ممنون میشم یکم بیشتر توضیح بدید :تشویق:
واقعا این همه اطلاعات شما ادم مجذوب میکنه
نقل قول: مشکل ارسال و دریافت ارایه با ایجکس
وقتی کد جی کوئریم به این شکل تغییر میدم
data: "ajaxcountproduct="+select,
dataType: 'json',
و سمت php
var_dump($_POST);
این دستور اجرا میکنم این خروجی میده
array(1) {
["ajaxcountproduct"]=>
string(1) "4"
}
نحوه ارسال مقدارم ظاهرا مشکل داره
data: JSON.stringify({ "ajaxcountproduct":select, "ajaxIDOrderdetailsid":id , "ajaxusersIDProduct":usersID }),
contentType : 'application/json',
نقل قول: مشکل ارسال و دریافت ارایه با ایجکس
جطوری میشه با ایجکس بیشتر از یک مقدار رو ارسال کرد ؟؟
نقل قول: مشکل ارسال و دریافت ارایه با ایجکس
با جاوا اسکریپت هم میتونید یک آرایه ایجاد کنید بعد بصورت json ارسال کنید
با json_decode تبدیل به آرایه کنید بعد با استفاده از یک حلقه foreach بخونید
نقل قول: مشکل ارسال و دریافت ارایه با ایجکس
کد جی کوئریم این شکلی تغییر دادم درست شد
function sendcountproduct(id,usersID)
{
var select = $("#DropDownList"+id+"").val();
$.ajax({
url: 'business/ajaxFunctions/basket.php',
type: 'POST',
data: 'ajaxcountproduct=' + select +'&ajaxIDOrderdetailsid=' + id + '&ajaxusersIDProduct=' + usersID ,
success:function(result)
{
$('#popupCartItems').html(result['countall']);
$('#sumAllProduct').html(result['sum']);
}
});
}
:تشویق: مرسی از دوستی که کمکم کرد