相关疑难解决方法(0)

什么是JSONP,为什么创建它?

我理解JSON,但不了解JSONP.维基百科关于JSON的文档是JSONP的最佳搜索结果.它说:

JSONP或"带填充的JSON"是JSON扩展,其中前缀被指定为调用本身的输入参数.

咦?什么电话?这对我没有任何意义.JSON是一种数据格式.没有电话.

第二个搜索结果是由某些人叫雷米,谁写的这个约JSONP:

JSONP是脚本标记注入,将响应从服务器传递到用户指定的函数.

我可以理解这一点,但它仍然没有任何意义.


那么什么是JSONP?它为什么被创建(它解决了什么问题)?为什么我会用它?


附录:我刚刚在维基百科上为JSONP创建了一个新页面 ; 根据jvenema的回答,它现在对JSONP进行了清晰而全面的描述.

javascript json jsonp terminology

2040
推荐指数
8
解决办法
46万
查看次数

JSONP可以安全使用吗?

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

security json jsonp

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

跨域jsonp的基本方法

我到处都看这个.我只需要一个简单的"操作方法"拉jsonp跨域.我正在使用jQuery 1.5.1.

我在另一个网站上的程序中尝试了以下内容:

$.getJSON("http://www.mydomain.com/testjson.json?jsoncallback=?", function(data) {
    alert("I'm hitting this.");
}
Run Code Online (Sandbox Code Playgroud)

这根本不起作用.

有没有办法只做一个简单的跨域jquery JSONP调用?

谢谢

jquery jsonp cross-domain

13
推荐指数
1
解决办法
5万
查看次数

JSONP是否进行异步调用?

我是jsonp的新手,我知道JSONP是一种创建动态 脚本src ="..." 标签的技术,它使用回调函数包装返回的javascript(或json对象).

但是如果我没有弄错的话,脚本标签中的src属性将阻止所有进一步的执行,直到脚本加载,那么它怎么能被asynchrounus调用?

javascript jsonp asynchronous

7
推荐指数
2
解决办法
4461
查看次数

如何在打字稿文件中使用json文件

我有一个名为men.json的文件.

我想做相同的var men = require('./men.json');.

无论我尝试过什么,它都会寻找./men.json.js文件.

我读到我不能使用,import因为它不是ts文件.

什么是等效的要求线?

javascript json typescript

7
推荐指数
1
解决办法
4910
查看次数

jQuery ajax调用重定向到另一个域的域(未遵循)

这是一个跨域问题,但问题是浏览器(Chrome)似乎没有遵循重定向.相反,没有任何东西返回到jQuery ajax调用,我收到一个错误.

我正在尝试使用jQuery.ajax,但我正在使用的网址重定向到另一个域.发生这种情况时,我收到一个错误.是否有任何特殊需要完成,以便浏览器遵循重定向?

我已经添加access-control-allow-origin: *到重定向到的第二个域的标头中.

ajax jquery cross-domain

6
推荐指数
1
解决办法
4581
查看次数

从URL读取JSON

我面临的问题应该很容易解决,但我现在已经迷失了.

我有一个网址:http://search.twitter.com/search.json? q = bacon

使用JavaScript(不是JQuery或php.只是JavaScript),我想读取这个JSON字符串并解析它.而已.

谢谢!

javascript ajax url json

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

为什么Webpack使用jsonp获取块脚本

我认为没有CORS问题。

为什么Webpack使用jsonp获取块脚本?

这是生成的webpackBootstrap。

/******/    // install a JSONP callback for chunk loading
/******/    var parentJsonpFunction = window["webpackJsonp"];
/******/    window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules) {
/******/        // add "moreModules" to the modules object,
/******/        // then flag all "chunkIds" as loaded and fire callback
/******/        var moduleId, chunkId, i = 0, callbacks = [];
/******/        for(;i < chunkIds.length; i++) {
/******/            chunkId = chunkIds[i];
/******/            if(installedChunks[chunkId])
/******/                callbacks.push.apply(callbacks, installedChunks[chunkId]);
/******/            installedChunks[chunkId] = 0;
/******/        }
/******/        for(moduleId in moreModules) {
/******/ …
Run Code Online (Sandbox Code Playgroud)

jsonp webpack

6
推荐指数
1
解决办法
4355
查看次数

将jsonp转换为json

这是我的代码

$.ajax({
    type: "GET",
    url: "http://example.com?keyword=r&callback=jsonp",
    success: function (data) {
        alert(data);
    },
    dataType: "jsonp",
    error: function (xhr, errorType, exception) {
        var errorMessage = exception || xhr.statusText;
        alert("Excep:: " + exception + "Status:: " + xhr.statusText);
    }
});
Run Code Online (Sandbox Code Playgroud)

好吧所以上面的代码工作正常,我得到一个数据为jsonp.Now我无法弄清楚如何将jsonp转换为json.

javascript jquery json jsonp

5
推荐指数
1
解决办法
2万
查看次数

在本地主机上允许 cors

我知道已经有人回答了,但我不明白如何解决我的问题。我正在使用 webpack 4 开发静态网站,并且在尝试加载图像(本地和从我的在线服务器)时遇到问题。

Access to XMLHttpRequest at 'XXX' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource使用 webpack 时如何修复错误?我没有使用 express(仍在学习 webpack),而且我发现的所有答案对我来说都有些复杂,并且使用了自定义服务器,而我不...

有没有简单的方法可以绕过这个?

顺便说一句,我正在使用<img src="XXX" alt="" crossorigin="anonymous">我的图像。有时它有效,有时它不起作用......我发现的文章在这一点上对我来说太技术性了......

我试图将以下内容添加到我的webpack.config.dev.js文件中,但它也不起作用:

devServer: {
    headers: {
      'Access-Control-Allow-Origin': '*',
      'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
      'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization',
    },
(...)
}
Run Code Online (Sandbox Code Playgroud)

javascript cors

3
推荐指数
1
解决办法
5374
查看次数

我如何使用外部JSON ......?

花了几个小时试图解决这个问题,但不能为我的生活弄清楚出了什么问题.

我要做的就是加载这个:

https://recruit.zoho.com/ats/EmbedResult.hr?jodigest=2cV.Sr2As6VxhLMxQGuTNij*g.Fb3J7ysduDs.AC9sU-&atslocale=en_GB&rawdata=json
Run Code Online (Sandbox Code Playgroud)

我认为是json,javascript/jquery或php并使用数据.

我查看了jsonp,接下来的一些教程,使用了一些演示作为模板,只是无法获得上述数据.

如果有人可以解决一些问题,我将不胜感激.这真的不应该是这么复杂,但我不知道出了什么问题.

javascript php jquery json cross-domain

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

PHP:JSON_DECODE不适用于以下数据

我试图通过下面的代码解码这个json数据,但是它不起作用.

$data = 'VA_OnQueryData({"name":"John","id":"354902332592"});';
return json_decode($data);
Run Code Online (Sandbox Code Playgroud)

php jsondecoder

-2
推荐指数
1
解决办法
69
查看次数

如何反序列化JSONP响应(最好使用JsonTextReader而不是字符串)?

我正在尝试使用声称返回JSON的Web服务,但实际上总是返回JSONP.我没有看到改变该服务行为的方法.

我想用NewtonSoft Json.Net来解析结果.我已经声明了一个类,我们将其称为MyType,我想将内部JSON结果反序列化为.

JSONP:

parseResponse({
"total" : "13,769",
"lower" : "1",
"upper" : "20"})
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这不是正确的JSON,因为它具有parseResponse(前缀和)后缀.虽然这个例子非常简单,但实际响应可能很长,大约为100K.

我的风格:

public class MyType
{
    public Decimal total;
    public int lower;
    public int upper;
}
Run Code Online (Sandbox Code Playgroud)

在我将Web服务响应转换为流和JsonTextReader之后,我尝试反序列化,如下所示:

(MyType)serializer.Deserialize(jsonTextReader, typeof(MyType));
Run Code Online (Sandbox Code Playgroud)

当然,我得到null的结果,因为有圆括号的那个讨厌的parseResponse.

我看过这个问题,遗憾的是没有帮助.我实际上是使用a JsonTextReader来输入JSON而不是字符串(并且更喜欢这样以避免创建巨大字符串的性能).即使我使用该问题的建议,它看起来很危险,因为它使用全局替换.如果没有好的方法来使用流,那么安全解析字符串的答案就可以了.

c# json jsonp json.net

-5
推荐指数
2
解决办法
1128
查看次数