本文整理汇总了C++中XMLHttpRequest::getResponseTypeCode方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLHttpRequest::getResponseTypeCode方法的具体用法?C++ XMLHttpRequest::getResponseTypeCode怎么用?C++ XMLHttpRequest::getResponseTypeCode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLHttpRequest
的用法示例。
在下文中一共展示了XMLHttpRequest::getResponseTypeCode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: exceptionState
void V8XMLHttpRequest::responseAttributeGetterCustom(
const v8::FunctionCallbackInfo<v8::Value>& info) {
XMLHttpRequest* xmlHttpRequest = V8XMLHttpRequest::toImpl(info.Holder());
ExceptionState exceptionState(info.GetIsolate(),
ExceptionState::GetterContext, "XMLHttpRequest",
"response");
switch (xmlHttpRequest->getResponseTypeCode()) {
case XMLHttpRequest::ResponseTypeDefault:
case XMLHttpRequest::ResponseTypeText:
responseTextAttributeGetterCustom(info);
return;
case XMLHttpRequest::ResponseTypeJSON: {
v8::Isolate* isolate = info.GetIsolate();
ScriptString jsonSource = xmlHttpRequest->responseJSONSource();
if (jsonSource.isEmpty()) {
v8SetReturnValue(info, v8::Null(isolate));
return;
}
// Catch syntax error. Swallows an exception (when thrown) as the
// spec says. https://xhr.spec.whatwg.org/#response-body
v8::Local<v8::Value> json = fromJSONString(
isolate, toCoreString(jsonSource.v8Value()), exceptionState);
if (exceptionState.hadException()) {
exceptionState.clearException();
v8SetReturnValue(info, v8::Null(isolate));
} else {
v8SetReturnValue(info, json);
}
return;
}
case XMLHttpRequest::ResponseTypeDocument: {
Document* document = xmlHttpRequest->responseXML(exceptionState);
v8SetReturnValueFast(info, document, xmlHttpRequest);
return;
}
case XMLHttpRequest::ResponseTypeBlob: {
Blob* blob = xmlHttpRequest->responseBlob();
v8SetReturnValueFast(info, blob, xmlHttpRequest);
return;
}
case XMLHttpRequest::ResponseTypeArrayBuffer: {
DOMArrayBuffer* arrayBuffer = xmlHttpRequest->responseArrayBuffer();
v8SetReturnValueFast(info, arrayBuffer, xmlHttpRequest);
return;
}
}
}