BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

Loader.setRequestHeader()

Loader.setRequestHeader 方法用于为请求添加自定义 HTTP 标头,可以用于设置一些需要验证的信息,如 API Key 或者 Token。

该方法可以应用于任何使用了 three.js 的加载器中,并适用于 XMLHttpRequest(XHR)和 fetch 加载器。

语法

loader.setRequestHeader(name, value);

参数

  • name: 必填。要设置的 header 名称。
  • value: 必填。要设置的 header 值。

示例

在以下示例中,我们将为 Ajax 加载器设置 "Authorization" 标头。

const loader = new THREE.Loader();
loader.setRequestHeader("Authorization", "Bearer myTokenHere");

loader.load(
  'demo-model.json',
  (model) => {
    console.log('Model loaded successfully.');
  },
  (xhr) => {
    console.log((xhr.loaded / xhr.total * 100) + '% loaded');
  },
  (error) => {
    console.log('An error occurred');
  }
);

注意事项

  • 请确保设置的标头符合跨域标头规则,以免浏览器拒绝请求。

  • 如果已经在加载之前设置了标头,则将覆盖加载器内部的任何默认标头。

  • 该方法仅适用于使用 XMLHttpRequest 或 fetch 的加载器,无法用于其他加载器。

  • 如果您不确定要设置哪个标头,建议先查看 API 文档或咨询服务提供商。