使用ajax请求(ht | x)ml时,您只能将请求发送到同一域。但是,如果您请求JSON,则可以将其发送到任何域。为什么?
有人告诉我,这是出于安全性考虑,但为什么网站会通过Ajax进行恶意操作,而不是直接这样做(如果可行)。
查看此维基百科文章。
JSON之所以“安全”,是因为您必须通过回调传递它。远程站点将运行return JSON,并且您的JavaScript库不仅会盲目运行它,还会尝试将其传递给您指定的函数,例如jsonpCallback( response )。由于您不是直接运行远程代码,因此您可以控制更多的事情,并且世界上大多数情况都很好。
jsonpCallback( response )