PDA

View Full Version : سوال: Refresh شدن Captcha با استفاده از http handler,jquery.ajax



mohammad kafiyan
چهارشنبه 30 اسفند 1391, 23:49 عصر
سلام به دوستان من برای تولید captcha از handler استفاده می کنم
نمایش تصویر در page load به صورت زیر است


imCaptcha.ImageUrl = "Handler.ashx";

و به درستی انجام می شه و تصویر به نمایش در می آید

و حالا می خوام با استفاده از jquery.ajax آنرا refresh کنم ولی چگونه می توانم تصویر تولید شده در handler را برای کنترل image.url برگردانم



$(document).ready(function () {
$('#btn_ref').click(function () {
$.ajax({
type: "POST",
data: "{}",
url: "Handler.ashx",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
ولی چگونه می توانم تصویر تولید شده در handler را برای کنترل image.url برگردانم
}
});
});
});

mohammad kafiyan
پنج شنبه 01 فروردین 1392, 22:29 عصر
از دوستان کسی نبود راهنمای کوچک بکنه

bftarane
شنبه 03 فروردین 1392, 00:14 صبح
ببينيد اين جواب ميده؟

document.getElementById('<%=Image1.ClientID%>').src="Handler.ashx";

ببخشيد اون src هست. نمي دونم چرا بينش فاصله ميفته.

mohammad kafiyan
شنبه 03 فروردین 1392, 13:20 عصر
جواب نگرفتم

mohammad kafiyan
شنبه 03 فروردین 1392, 19:35 عصر
دوستان اگر ممکنه نمونه کدی یا برنامه برای http handler +jquery.ajax قرار بدهند
نمی دونم چرا زمانی که یک تابع را داخل handler فراخوانی می کنم پیغام alert خطا را بر می گردنه در صورتی که همان تابع را web service نوشتم به راحتی اون تابع در وب سرویس اجرا شد و خروجی را نمایش داد
آیا با تنظیمات صورت بگیره؟؟؟؟:متفکر::اشتباه:
این هم کد ها



function cpatcha() {
$.ajax({
type: "POST",
url: "Handler2.ashx",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
}
function OnSuccess(data, status) {
alert(data.d);
// $("#txt1").val(data.d);
}
function OnError()
{ alert("error"); }


کد های مربوط به هندلر


public class Handler2 : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "application/json; charset=utf-8";


context.Response.Write(name());

}
public string name()
{

return "ali";
}
public bool IsReusable {
get {
return false;
}
}

mohammad kafiyan
دوشنبه 19 فروردین 1392, 09:36 صبح
سلام به دوستان می خواستم با استفاده از jquery.ajax یک نام متد فراخوانی کنم و مقدار از آن متد را در برنامه برگردونم؟؟؟؟؟

Mohammadvb6
دوشنبه 19 فروردین 1392, 10:37 صبح
می تونید از این روش استفاده کنید

function IsAuthenticated(UserName) {
$(document).ready(function () {
$.post("Login/ReturnRole.aspx",
function (Role) {
alert(Role)
})
})
}



protected void Page_Load(object sender, EventArgs e)
{


Response.Write("user");
Response.End();

}

mohammad kafiyan
دوشنبه 19 فروردین 1392, 11:12 صبح
با تشکر از شما اما من می خوام از فایل handler یک متد به نام name را فراخوانی و مقداری رشته ای را برگردونم
این کار به صورت زیر انجام می دم ولی نمی دونم چرا در قسمت ajax تابع error اجرا می شه نمی دونم مشکل از کجاست ؟؟؟؟؟؟


function cpatcha() {

$.ajax({
type: "get",
url: "Handler3.ashx/name",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnError
});
}
function OnSuccess(data) {
alert(data);
$("#txtVerify").val(data);
}
function OnError()
{ alert("error"); }





using System;
using System.Web;
using System.Web.Script.Serialization;
public class Handler3 : IHttpHandler {

public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public void name(HttpContext context)
{
context.Response.ContentType = "application/json; charset=utf-8";
context.Response.CacheControl = "no-cache";
JavaScriptSerializer JSSerializer = new JavaScriptSerializer();
context.Response.Write(JSSerializer.Serialize("ali"));
}
public bool IsReusable {
get {
return false;
}
}

}

Mohammadvb6
دوشنبه 19 فروردین 1392, 12:22 عصر
http://www.undisciplinedbytes.com/2010/03/ajax-call-using-an-asp-net-http-handler/

mohammad kafiyan
دوشنبه 19 فروردین 1392, 17:47 عصر
با تشکر دوست عزیز من همه سایت ها را زیررو کردم و این سایت قبلا دیدم ولی مشکل من اینکه من چندین متد دارم داخل و می خوام در جاهای مختلف از این متدها با استفاده از jquery.ajax فرخوانی و مقداری را برگردونم زمانی که در ajax از url: "Handler3.ashx" استفاده می کنم مشکلی نیست و مقدار را که قرار داره داخل متد اصلی ProcessRequest نمایش و مشکلی نیست ولی زمانی که می خوام متد name را url: "Handler3.ashx/name" فراخاونی کنم function مربوط به error اجرا می شود در ajax
شما وقتی از وب سرویس استفاده می کنی راحت متدها را تعریف میکنی و بعدا آنها را فراخوانی میکنی ولی نمی دونم در handler آیا این امکان پذیر است یا خیر!!!!