Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用接收的数据=[object]?_Jquery_Ajax - Fatal编程技术网

Jquery 如何使用接收的数据=[object]?

Jquery 如何使用接收的数据=[object]?,jquery,ajax,Jquery,Ajax,我对接收到的数据=[object]及其工作方式有问题? 实际上,我发送了一个post请求,我需要获取浏览器中的代码页,您可以在调试器中看到它,但我无法以编程方式获取它 这是密码 $.ajax ({ url: "https://ua-eshop.oriflame.com/iframe/Consultant/OnlineQuickRegistration.aspx", dataType: 'script', crossDomain: true, type: 'POST

我对接收到的数据=[object]及其工作方式有问题? 实际上,我发送了一个post请求,我需要获取浏览器中的代码页,您可以在调试器中看到它,但我无法以编程方式获取它

这是密码

$.ajax ({
    url: "https://ua-eshop.oriflame.com/iframe/Consultant/OnlineQuickRegistration.aspx",
    dataType: 'script',
    crossDomain: true,
    type: 'POST',
    data: date,
    async: true,
    complete: function (data, textStatus, jqxhr) {
        var text = data;
        console.log (JSON.stringify (data));

        console.log (data.toString ());

        console.log (data);
    }
});
和控制台的输出

{“readyState”:4,“status”:200,“statusText”:“success”}

[对象]

对象{readyState:4,getResponseHeader:function, getAllResponseHeaders:函数,setRequestHeader:函数, 重写emimetype:函数

有许多函数}

这是服务器返回的内容:

<! DOCTYPE html PUBLIC "- / / W3C / / DTD XHTML 1.0 Transitional / / EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="ctl00_pageHead"> <title>
Online quick registration
</ title>

网上快速注册
等等


本页是阅读

您的问题将通过使用其中任何一项解决的必要内容

尝试
console.log(data.toSource())


或者
alert(JSON.stringify(data))

您正在使用
$.ajax
complete
选项,而不是
success

complete
(您命名为
data
)的第一个参数实际上是
jqXHR
对象。这是您在所展示的各种形式的日志中看到的,而不是您想要的。(
[Object Object]
是对象的
.toString()
的输出)

此外,
complete
方法在所有
$.ajax
功能和事件之后运行,而不管它发出的HTTP请求的状态如何。在这种情况下,不会向其传递任何响应数据,因为它可能是在向服务器发出错误请求后运行的,该请求不会产生任何数据

切换到
success
选项(在页面上找到并阅读相关内容)。这只对成功的请求运行,它给出的第一个参数是来自服务器的数据

切换到
success
后,您需要确定您的请求是否真的发送到了服务器,以及是否返回了数据。您还需要确定希望从服务器返回的数据类型(HTML、XML、JSON、纯文本等),并适当地设置
数据类型
(同样,在继续之前阅读)

附录

HTTP请求可能失败的一个原因是,
success
中的重新加载未被调用。您只能从与脚本运行位置不同的域请求脚本或jsonp。当您告诉jQuery这是一个脚本时,它会尝试为您将其放入页面中——因为您请求的不是脚本,所以它无法这样做。如果您告诉它“jsonp”,那么远端必须支持该协议,并将包含JSON的脚本发送回函数调用。显然,远端不支持它,只发送回HTML


实际上,您正在请求HTML,但甚至可以使用纯文本。不幸的是,同一原产地政策不允许这样做

您需要打印状态文本??我需要获取页面为什么将
dataType
设置为
script
?将
dataType
设置为
Text
可以解决您的问题。只有jsonp或script将结果返回到browserconsole.log(data.toSource());-未定义的错误不是函数警报(JSON.stringify(数据));=>{“readyState”:4,“status”:200,“statusText”:“success”}结果html页面,我不知道是什么类型的数据,结果仅当类型为jsonp或脚本时,如果成功不会更改结果请参阅我的答案附录。您遇到了比您想象的更大的问题。我决定通过php脚本来解决,但希望通过jquery来解决