Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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
Javascript 具有readState和status属性的Ajax代码_Javascript_Html_Ajax_Status_Readystate - Fatal编程技术网

Javascript 具有readState和status属性的Ajax代码

Javascript 具有readState和status属性的Ajax代码,javascript,html,ajax,status,readystate,Javascript,Html,Ajax,Status,Readystate,这是我在ajax中的第一个代码……请任何人帮我一下……readySTate和status属性永远不会变为真……它显示xhrobj.readySTate=1和xhrobj.status=0 <html> <head> <title>MISCELLANEOUS QUESTION NO.1</title> <script language="javascript"> var xhrobj=false; if(window.XMLHttpR

这是我在ajax中的第一个代码……请任何人帮我一下……readySTate和status属性永远不会变为真……它显示xhrobj.readySTate=1和xhrobj.status=0

<html>
<head>
<title>MISCELLANEOUS QUESTION NO.1</title>
<script language="javascript">

var xhrobj=false;

if(window.XMLHttpRequest)
    xhrobj=new XMLHttpRequest();
else if(window.ActiveXObject)
    xhrobj=new ActiveXObject("Microsoft.XMLHttp");

function change1(str)
{
    if(xhrobj)
    {
        var obj=document.getElementById('span1');

        xhrobj.open("GET",str);

        xhrobj.onreadystatechange=function()
        {
            if(xhrobj.readyState==4&&xhrobj.status==200)
            {
                var str1="You Entered...."+str;
                obj.innerHTML=xhrobj.responseText;
            }
        }

        var str1="You Entered...."+str;

        alert(str1);
        alert(xhrobj.readyState);
        alert(xhrobj.status);
        alert(xhrobj.onreadystatechange);
        xhrobj.send(null);
    }
}
</script>
</head>

<body>

<form>
<input type="text" id="t1" placeholder="Enter Text...">
<input type="button" onclick="change1(t1.value)" value="FETCH DETAILS OF TEXTBOX">
<br>
</form>

<div id="span1">You Entered....</div>

</body>
</html>

杂项问题1
var xhrobj=假;
if(window.XMLHttpRequest)
xhrobj=newXMLHttpRequest();
else if(window.ActiveXObject)
xhrobj=新的ActiveXObject(“Microsoft.XMLHttp”);
功能变更1(str)
{
if(xhrobj)
{
var obj=document.getElementById('span1');
xhrobj.open(“GET”,str);
xhrobj.onreadystatechange=函数()
{
if(xhrobj.readyState==4&&xhrobj.status==200)
{
var str1=“您输入了…”+str;
obj.innerHTML=xhrobj.responseText;
}
}
var str1=“您输入了…”+str;
警报(str1);
警报(xhrobj.readyState);
警报(xhrobj.状态);
警报(xhrobj.onreadystatechange);
xhrobj.send(空);
}
}

你进入了。。。。

请帮帮我。

你必须修复
xhrobj.open(“GET”,str)
,open方法的第二个参数,这里是
str
,是您想要从中读取数据的URL,它不能从任何地方读取数据,它应该从您当前页面拥有的相同域开始,除非您将
访问控制允许来源:
头添加到服务器响应头中

我刚刚用一个有效的url更改了您的确切代码,它非常有效。查看您的


顺便说一句,我在你的评论中读到了一些关于在send方法中传递null参数的讨论,当你创建一个XMLHttpRequest时,你必须发送一些东西,当你的http方法是
GET
时,你必须传递null,因为它是http-GET,尽管在某些浏览器中你可以调用
send()
方法,不作为参数传递null,但传递null将保证您的代码适用于所有浏览器。

您还可以包括响应的外观吗?该页面在控制台中是否显示任何错误?在控制台中未显示任何错误。我甚至用ASP.net调试了同样的代码,看到了它的价值。readyState的值始终保持为1,状态保持为0。readyState 1表示连接打开。这很有意义,因为在发出
send
之前发出警报。MDN(Mozilla开发者网络)有很多关于javascript的宝贵信息。看看这个是的。非常感谢。但是发送后的警报会将readyState更改为4和状态404,但是我应该如何从文本框检索数据。例如,如果要将数据发送到服务器并根据文本框的值读取一些数据,请将文本框的值作为查询字符串参数发送,并在服务器端读取,在php代码或服务器端使用的任何东西中,然后从数据库或用于存储数据的任何东西中检索数据,然后将其发送回客户端,客户端正在等待服务器端响应,通过它的
onreadystatechange
回调方法。我试图根据您所说的
“我应该如何从文本框中检索数据”
,来解决您的问题。如果我不理解您的意思,请纠正我。感谢大家的宝贵回复