लौटने पर मैं डोमेन पर कुछ JSON वापस लौटने की सोच रहा हूं और मैं समझता हूं कि ऐसा करने का तरीका शुद्ध JSON की बजाय JSONP के माध्यम से है। मैं एएसपीनेट एमवीसी का उपयोग कर रहा हूं, इसलिए मैं सिर्फ JSONResult प्रकार को विस्तारित करने के बारे में सोच रहा था और उसके बाद नियंत्रक को विस्तारित करता था ताकि यह एक जेसनपी विधि भी कार्यान्वित किया जा सके। क्या यह इसके बारे में जाने का सबसे अच्छा तरीका है या क्या एक्शन रिसेट में बनाया गया है जो बेहतर हो सकता है?एएसपीनेट एमवीसी JSONP
संपादित करें: मैं आगे बढ़ गया और ऐसा किया।
public class JsonpResult : System.Web.Mvc.JsonResult
{
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
HttpResponseBase response = context.HttpContext.Response;
if (!String.IsNullOrEmpty(ContentType))
{
response.ContentType = ContentType;
}
else
{
response.ContentType = "application/javascript";
}
if (ContentEncoding != null)
{
response.ContentEncoding = ContentEncoding;
}
if (Data != null)
{
// The JavaScriptSerializer type was marked as obsolete prior to .NET Framework 3.5 SP1
#pragma warning disable 0618
HttpRequestBase request = context.HttpContext.Request;
JavaScriptSerializer serializer = new JavaScriptSerializer();
response.Write(request.Params["jsoncallback"] + "(" + serializer.Serialize(Data) + ")");
#pragma warning restore 0618
}
}
}
है और यह भी अपने सभी नियंत्रकों के एक सुपर क्लास करने के तरीकों की एक जोड़ी:
protected internal JsonpResult Jsonp(object data)
{
return Jsonp(data, null /* contentType */);
}
protected internal JsonpResult Jsonp(object data, string contentType)
{
return Jsonp(data, contentType, null);
}
protected internal virtual JsonpResult Jsonp(object data, string contentType, Encoding contentEncoding)
{
return new JsonpResult
{
Data = data,
ContentType = contentType,
ContentEncoding = contentEncoding
};
}
वर्क्स एक आकर्षण की तरह बस संदर्भ खातिर मैं एक नया परिणाम गयी।
धन्यवाद! बस हमारी परियोजना में इसे लागू किया! :) –
अच्छा! लेकिन JSONP को एप्लिकेशन/जावास्क्रिप्ट के रूप में कार्य किया जाना चाहिए http://stackoverflow.com/questions/111302/best-content-type-to-serve-jsonp –
यह भी देखें http://support.github.com/discussions/api/18 -content-type-should-applicationjavascript-for-jsonp-request http://stackapps.com/questions/1668/wrong-content-type-in-jsonp-calls –