PDA

View Full Version : مبتدی: مشکل در استفاده از دیتای ارسال شده از سمت سرور



AftaB66
چهارشنبه 05 تیر 1392, 14:21 عصر
سلام.

من لیست(یا دیتا تیبل) ی از داده ها رو می خوام از سمت سرورم (code behind) بفرستم سمت client;



return getJson(lst);
public string getJson(object dt)
{
System.Web.Script.Serialization.JavaScriptSerializ er serializer = new System.Web.Script.Serialization.JavaScriptSerializ er();
return serializer.Serialize(dt);
}

حالا می خوام در سمت کلاینت از این دیتای سریال شده استفاده کنم :


function serviceCall() {
$.ajax({
type: "POST",
url: WebServiceURL + "/TestMethod",

contentType: "application/json; charset=utf-8",

success: function(data) {

var obj = eval("(" + data + ")");


},
error: function(e) {
$("#divResult").html("WebSerivce unreachable");
}
});


1- آیا این راهی که من رفتم درسته ؟ (با توجه به اینکه کار نمی کنه !!!:ناراحت: یعنی در response به این صورت است :
[{"value":"1"},{"value":"2"},{"value":"3"},{"value":"4"},{"value":"5"}]
)
2- آیا سریالایزش درسته ؟
3- روش بهتری هم وجود داره ؟
4- در ضمن من دیتام رو از یک webService فرستادم ، با webPage امتحان کردم نمیشه . چکار باید بکنم ؟
من مبتدی هستم و فعلا داکیومنت w3schools خودنم . به نظرتون برای تسلط بیشتر چی و بخونم بهتره که از نظر زمانی هم صرفه جویی بشه ولی مفید هم باشه .
ممنون.

afshin9032
چهارشنبه 05 تیر 1392, 18:56 عصر
از چه زبان سمت سرور استفاده می کنی ؟
اگه از php استفاده میکینی ، از تابع json_encode برای ارسال دیتای json استفاده کن .

afshin9032
چهارشنبه 05 تیر 1392, 18:57 عصر
document چه موردی رو از w3school مطالعه میکنید ؟

AftaB66
پنج شنبه 06 تیر 1392, 21:10 عصر
ببخشید دیر اومدم جواب بدم !!
زبان سی شارپ .
من با asp.net معمولی کار می کنم ، فکر می کنم یه سری محدودیت ها به این دلیله ! (البته تاکید میکنم فکر میکم) با MVC راحت تر و compatible تر هست ؟
تقریبا تمام سرفصل های اینجا رو خوندم :اینجا (http://www.w3schools.com/jquery/default.asp)
ولی فکر میکنم داکیومنت قوی تر و تخصصی تری باید بخونم ، توی نقل و انتقال دیتا مشکل دارم !!
لطفا کمک کنید نیاز خیلی شدید دارم !!!

jalil_gh
پنج شنبه 06 تیر 1392, 23:37 عصر
شما اگه تو متد ajax جی‌کوئری dataType رو برابر json قرار بدید دیگه لازم نیست تو متد success اونو با eval سریالایز کنید و میتونید خیلی راحت از اون به عنوان یه شی جاوااسکریپت استفاده کنید.
$.ajax({
type: "POST",
url: WebServiceURL + "/TestMethod",

dataType: 'json',

contentType: "application/json; charset=utf-8",
success: function(data) {
//var obj = eval("(" + data + ")");
// `data` is serialized. You don't need to use eval here
},
error: function(e) {
$("#divResult").html("WebSerivce unreachable");
}
});

AftaB66
جمعه 07 تیر 1392, 12:41 عصر
شما اگه تو متد ajax جی‌کوئری dataType رو برابر json قرار بدید دیگه لازم نیست تو متد success اونو با eval سریالایز کنید و میتونید خیلی راحت از اون به عنوان یه شی جاوااسکریپت استفاده کنید.
$.ajax({
type: "POST",
url: WebServiceURL + "/TestMethod",

dataType: 'json',

contentType: "application/json; charset=utf-8",
success: function(data) {
//var obj = eval("(" + data + ")");
// `data` is serialized. You don't need to use eval here
},
error: function(e) {
$("#divResult").html("WebSerivce unreachable");
}
});

خیلی ممنون از راهنماییتون . ولی اون رو هم اضافه کردم نشد.

var obj = JSON.parse(data.d);
alert(obj[0].value);
با این قطعه کد تونستم به دیتام به صورت یه جور کالکشن(یا آبجکت) دسترسی داشته باشم .
به نظرتون استفاده از جی کوئری با asp.net معمولی دردسر داره ؟

jalil_gh
جمعه 07 تیر 1392, 15:56 عصر
به نظرتون استفاده از جی کوئری با asp.net معمولی دردسر داره ؟
من asp بلد نیستم ولی اگه باهاش بشه داده‌ها رو به صورت json ارسال کرد فکر نمی‌کنم مشکلی باشه.

afshin9032
شنبه 08 تیر 1392, 18:04 عصر
اگه به خود سایت jquery سر بزنی ، مرجع کاملی است .
اگرچه فارسی نمی باشد