我有一个Web应用程序,可以将某些请求作为HTML或JSON提供给同一个URL。到目前为止,我依靠Accept
HTTP标头来确定要返回的内容。现在,如果存在特定的URL参数,则需要能够将JSON作为JSONP响应提供。很遗憾,大多数浏览器都要求src
标记的<script>
属性Accept
标题为*/*
。
目前我看到两种选择,两者都有一些缺点:
Accept
标头为*/*
时,请检查callback
参数,如果该参数存在,请提供JSONP。当callback
参数用于不同目的时,这可能会导致错误的内容类型。Accept
标头,并针对不同的内容类型使用不同的URL路径。这可能会破坏使用JSON或导致重复URL的应用程序的向后兼容性。还有其他方法可以检测JSONP请求吗?