标签: jsonp

如何在没有JQuery的情况下从Javascript发出JSONP请求?

我可以在不使用jQuery或其他外部库的情况下在JavaScript中创建跨域JSONP请求吗?我想使用JavaScript本身,然后解析数据并使其成为一个对象,以便我可以使用它.我必须使用外部库吗?如果没有,我该怎么办?

javascript jsonp

117
推荐指数
7
解决办法
9万
查看次数

解析angular.js中的JSONP $ http.jsonp()响应

我正在使用angular的$http.jsonp()请求,该请求成功返回包含在函数中的json:

var url = "http://public-api.wordpress.com/rest/v1/sites/wtmpeachtest.wordpress.com/posts?callback=jsonp_callback";

$http.jsonp(url).
    success(function(data, status, headers, config) {
        //what do I do here?
    }).
    error(function(data, status, headers, config) {
        $scope.error = true;
    });
Run Code Online (Sandbox Code Playgroud)

如何访问/解析返回的函数包装JSON?

javascript jsonp angularjs

113
推荐指数
4
解决办法
21万
查看次数

那么,JSONP还是CORS?

我的WebAPI部署在Intranet环境中.这意味着安全不是我关注的问题.

看起来CORS 对客户端更友好,更容易实现.

我可能错过了任何其他问题吗?

jsonp cors asp.net-web-api

111
推荐指数
3
解决办法
4万
查看次数

将数据发布到JsonP

是否可以将数据发布到JsonP?或者所有数据都必须作为GET请求在查询字符串中传递?

我有很多需要发送到服务的数据,跨域,并且它太大而无法通过查询字符串发送

有什么方法可以解决这个问题?

javascript ajax jquery json jsonp

101
推荐指数
3
解决办法
9万
查看次数

jQuery ajax(jsonp)忽略超时并且不会触发错误事件

为了添加一些基本的错误处理,我想重写一段使用jQuery的$ .getJSON来从Flickr中提取一些照片的代码.这样做的原因是$ .getJSON不提供错误处理或使用超时.

因为$ .getJSON只是$ .ajax的包装,所以我决定改写这个东西并惊喜,它完美无缺.

现在开始有趣了.当我故意导致404(通过更改URL)或导致网络超时(没有连接到互联网)时,错误事件根本不会触发.我不知道自己做错了什么.非常感谢帮助.

这是代码:

$(document).ready(function(){

    // var jsonFeed = "http://api.flickr.com/services/feeds/photos_public.gne"; // correct URL
    var jsonFeed = "http://api.flickr.com/services/feeds/photos_public.gne_______"; // this should throw a 404

    $.ajax({
        url: jsonFeed,
        data: { "lang" : "en-us",
                "format" : "json",
                "tags" : "sunset"
        },
        dataType: "jsonp",
        jsonp: "jsoncallback",
        timeout: 5000,
        success: function(data, status){
            $.each(data.items, function(i,item){
                $("<img>").attr("src", (item.media.m).replace("_m.","_s."))
                          .attr("alt", item.title)
                          .appendTo("ul#flickr")
                          .wrap("<li><a href=\"" + item.link + "\"></a></li>");
                if (i == 9) return false;
            });
        },
        error: function(XHR, textStatus, errorThrown){
            alert("ERREUR: " + textStatus); …
Run Code Online (Sandbox Code Playgroud)

ajax error-handling jquery jsonp timeout

89
推荐指数
4
解决办法
5万
查看次数

jsonp与jquery

你能给出一个用jquery读取jsonp请求的简单例子吗?我无法让它发挥作用.

ajax jquery jsonp

89
推荐指数
1
解决办法
8万
查看次数

使用JSONP时,如何捕获jQuery $ .getJSON(或数据类型设置为'jsonp'的$ .ajax)错误?

在jQuery中使用JSONP时是否可以捕获错误?我已经尝试了$ .getJSON和$ .ajax方法,但都没有捕获我正在测试的404错误.这是我尝试过的(请记住,这些都可以成功运行,但我想在失败时处理这种情况):

jQuery.ajax({
    type: "GET",
    url: handlerURL,
    dataType: "jsonp",
    success: function(results){
        alert("Success!");
    },
    error: function(XMLHttpRequest, textStatus, errorThrown){
        alert("Error");
    }
});
Run Code Online (Sandbox Code Playgroud)

并且:

jQuery.getJSON(handlerURL + "&callback=?", 
    function(jsonResult){
        alert("Success!");
    });
Run Code Online (Sandbox Code Playgroud)

我也尝试添加$ .ajaxError,但这也不起作用:

jQuery(document).ajaxError(function(event, request, settings){
   alert("Error");
});
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的回复!

javascript jquery jsonp

76
推荐指数
4
解决办法
9万
查看次数

ASP.net MVC返回JSONP

我希望跨域返回一些JSON,我知道这样做的方法是通过JSONP而不是纯JSON.我正在使用ASP.net MVC所以我正在考虑只是扩展JSONResult类型然后extendig Controller,以便它还实现了一个Jsonp方法.这是最好的解决方法,还是内置的ActionResult可能会更好?

编辑:我继续前进并做到了.仅供参考,我添加了一个新结果:

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 …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc json jsonp

72
推荐指数
3
解决办法
4万
查看次数

JS对象的JSON字符串

我正在使用JS对象来创建使用Google可视化的图形.我正在尝试设计数据源.起初,我创建了一个JS对象客户端.

var JSONObject = {
    cols: [{id: 'date', label: 'Date', type: 'date'},
{id: 'soldpencils', label: 'Sold Pencils', type: 'number'},
        {id: 'soldpens', label: 'Sold Pens', type: 'number'}],
    rows: [{c:[{v: new Date(2008,1,1),f:'2/1/2008'},{v: 30000}, {v: 40645}]},
        {c:[{v: new Date(2008,1,2),f:'2/2/2008'},{v: 14045}, {v: 20374}]},
     {c:[{v: new Date(2008,1,3),f:'2/3/2008'},{v: 55022}, {v: 50766}]}]  
};

var data = new google.visualization.DataTable(JSONObject, 0.5);
Run Code Online (Sandbox Code Playgroud)

现在我需要动态获取数据.所以我发送一个AJAX请求到一个返回JSON字符串的页面:

 "cols: [{id: 'date', label: 'Date', type: 'date'},
{id: 'soldpencils', label: 'Sold Pencils', type: 'number'},
{id: 'soldpens', label: 'Sold Pens', type: 'number'}],
  rows: [{c:[{v: new Date(2008,1,1),f:'2/1/2008'},{v: 30000}, {v: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery json jsonp getjson

70
推荐指数
3
解决办法
15万
查看次数

JSONP可以安全使用吗?

使用JSONP时是否应该考虑任何安全问题?

security json jsonp

67
推荐指数
4
解决办法
3万
查看次数