首页 > 解决方案 > apache 提供的静态 Json 文件未显示正确的 mime 类型

问题描述

我正在使用来自 profreehost.com 的主机进行测试。链接是http://xhunterx.ezyro.com/fruit.json。我有一个静态 json 文件。当我通过浏览器访问时,我可以看到以下内容。

[{"id":"1","fruit_name":"Apple"},
{"id":"2","fruit_name":"Orange"},
{"id":"3","fruit_name":"Banana"},
{"id":"4","fruit_name":"Cranberry"},
{"id":"5","fruit_name":"Pineapple"},
{"id":"6","fruit_name":"Cucumber"},
{"id":"7","fruit_name":"Grape"},
{"id":"8","fruit_name":"Guava"},
{"id":"9","fruit_name":"Honeyberry"}]

但是从我的应用程序中,当我通过 react-native 下载文件时,内容以 text/html 的形式出现。您也可以使用此链接https://websniffer.cc/对其进行测试。只需输入网址http://xhunterx.ezyro.com/fruit.json 并提交。

<html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("89dc71bfbda66445ad6f87970a2a41a1");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://xhunterx.ezyro.com/fruit.json?i=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html>

我尝试了 .htaccess 文件中的各种设置,例如

AddDefaultCharset utf-8
AddType 'application/json; charset=UTF-8' .json

或者

AddType application/javascript js jsonp
AddType application/json json

两者都没有工作。这里有指南吗?

标签: jsonapachefetchreact-native-android

解决方案


推荐阅读