Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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
Php 在我的站点中发布xml文档时发现困难_Php_Javascript_Xml - Fatal编程技术网

Php 在我的站点中发布xml文档时发现困难

Php 在我的站点中发布xml文档时发现困难,php,javascript,xml,Php,Javascript,Xml,我正在使用php和javascript代码将我的xml发布到url。我已经成功地从本地服务器发布了它。但当我在网站上尝试时,我无法将我的xml文档发布到那个url。原因是什么???为什么会发生这种情况,在我的本地服务器上工作得很好,但在站点上什么也没有发生。我必须用php和javascript来实现这一点。有人能帮我吗????下面是我使用的代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w

我正在使用php和javascript代码将我的xml发布到url。我已经成功地从本地服务器发布了它。但当我在网站上尝试时,我无法将我的xml文档发布到那个url。原因是什么???为什么会发生这种情况,在我的本地服务器上工作得很好,但在站点上什么也没有发生。我必须用php和javascript来实现这一点。有人能帮我吗????下面是我使用的代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>
XML parsing, serialization, asynchronous HTTP POST data exchange
</title>
<script type="text/javascript">
/* dummy implementations for those browsers not having XML support */
function createXMLFromString (string) {
  output('XML not implemented.');
  return null;
}

function serializeXML (xmlDocument) {
  output('XML not implemented.');
  return '';
}

function postXML (url, xmlDocument) {
var httpRequest;
  try {

    httpRequest = new ActiveXObject(Msxml2.XMLHTTP);
      alert("gfh")
    httpRequest.open('POST', url, true);
    httpRequest.onreadystatechange = function () {
      if (httpRequest.readyState == 4) {
        responseHandler(httpRequest);
      }
    };
    httpRequest.send(xmlDocument);
    return httpRequest;
  }
  catch (e) {

    output("XML not implemented.");
    return null;
  }
}

function output (text) {
  var p, layer;
  if (document.createElement && (p = document.createElement('p'))) {
    p.appendChild(document.createTextNode(text));
    document.body.appendChild(p);
  }
  else if (typeof Layer != 'undefined' && (layer = new
Layer(window.innerWidth))) {
    layer.top = document.height;
    layer.left = 0;
    layer.document.open();
    layer.document.write('<p>' + text + '<\/p>');
    layer.document.close();
    layer.visibility = 'show';
    document.height += layer.clip.height;
  }
}
</script>
<script type="text/jscript">
function createXMLFromString (string) {
  var xmlDocument;
  try {
    xmlDocument = new ActiveXObject('Microsoft.XMLDOM');
    xmlDocument.async = false;
    xmlDocument.loadXML(string);
    return xmlDocument;
  }
  catch (e) {
    output("Can't create XML document.");
    return null;
  }
}

function serializeXML (xmlDocument) {
  return xmlDocument.xml;
}

function postXML (url, xmlDocument, responseHandler) {
  var httpRequest;
  try {
    httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
    httpRequest.open('POST', url, true);
    httpRequest.onreadystatechange = function () {
      if (httpRequest.readyState == 4) {
        responseHandler(httpRequest);
      }
    };
    httpRequest.send(xmlDocument);
    return httpRequest;
  }
  catch (e) {
    output("Can't post XML document.");
    return null;
  }
}
</script>
<script type="text/javascript; version=1.5">
function createXMLFromString (string) {
  var xmlParser, xmlDocument;
  try {
    xmlParser = new DOMParser();
    xmlDocument = xmlParser.parseFromString(string, 'text/xml');
    return xmlDocument;
  }
  catch (e) {
    output("Can't create XML document.");
    return null;
  }
}

function serializeXML (xmlDocument) {
  var xmlSerializer;
  try {
    xmlSerializer = new XMLSerializer();
    return xmlSerializer.serializeToString(xmlDocument);
  }
  catch (e) {
    output("Can't serialize XML document.");
    return '';
  }
}

function postXML (url, xmlDocument, responseHandler) {

  try {

    var httpRequest = new XMLHttpRequest();

    httpRequest.open('POST', url, true);
    httpRequest.onreadystatechange = function () {
      if (httpRequest.readyState == 4) {
        responseHandler(httpRequest);
      }
    };
    httpRequest.send(xmlDocument);
    return httpRequest;
  }
  catch (e) {
    try{

     var httpRequest = new ActiveXObject(Msxml2.XMLHTTP);
    httpRequest.open('POST', url, true);

    httpRequest.onreadystatechange = function () {
      if (httpRequest.readyState == 4) {
        responseHandler(httpRequest);
      }
    };
    httpRequest.send(xmlDocument);
    return httpRequest;
    }catch (e){
    output("Can't post XML document");
    return null;
    }
  }
}
</script>
<script type="text/javascript">
/* Here starts the code to perform some tests with the script functions
   defined above.
*/
function testXMLDocumentCreationFromString () {
  var xmlDocument = 
  createXMLFromString('<gods><god name="Kibo" \/><\/gods>');
  if (xmlDocument) {
    output('Parsing from string results in: ' + xmlDocument);
    output('xmlDocument.documentElement.nodeName: ' + 
            xmlDocument.documentElement.nodeName);
    var xibo = xmlDocument.createElement('god');
    xibo.setAttribute('name', 'Xibo');
    xmlDocument.documentElement.appendChild(xibo);
    output(
'xmlDocument.documentElement.lastChild.getAttribute("name"): ' +
           xmlDocument.documentElement.lastChild.getAttribute("name"));
  }
  return xmlDocument;
}

function testXMLDocumentSerialization (xmlDocument) {
  if (xmlDocument) {
    output(xmlDocument + ' serialized has markup: ' +
serializeXML(xmlDocument));
  }
}

function exampleResponseHandler (httpRequest) {
  output('HTTP response status: ' + httpRequest.status);
  output('Response as text: ' + httpRequest.responseText);
  output('responseXML.documentElement.nodeName: ' +
         httpRequest.responseXML.documentElement.nodeName);
}

function testXMLPosting (url, xmlDocument, responseHandler) {

  if (xmlDocument) {
    var httpRequest = postXML(url, xmlDocument, responseHandler);
    output('Trying to HTTP POST ' + xmlDocument + ' to ' + url +
           ' results in: ' + httpRequest);
  }
}

window.onload = function (evt) {
 var xmlDocument ="my xml document";
  //testXMLDocumentSerialization(xmlDocument);
  testXMLPosting('myurl', xmlDocument,exampleResponseHandler);
};
</script>
</head>
<body>
<h1>XML parsing, serialization, asynchronous HTTP POST data exchange</h1>
</body>
</html>

XML解析、序列化、异步HTTP POST数据交换
/*不支持XML的浏览器的虚拟实现*/
函数createXMLFromString(字符串){
输出('XML未实现');
返回null;
}
函数序列化XML(xmlDocument){
输出('XML未实现');
返回“”;
}
函数postXML(url,xmlDocument){
var-httpRequest;
试一试{
httpRequest=新的ActiveXObject(Msxml2.XMLHTTP);
警报(“gfh”)
httpRequest.open('POST',url,true);
httpRequest.onreadystatechange=函数(){
if(httpRequest.readyState==4){
负责人(httpRequest);
}
};
httpRequest.send(xmlDocument);
返回httpRequest;
}
捕获(e){
输出(“未实现XML”);
返回null;
}
}
函数输出(文本){
var p,层;
if(document.createElement&(p=document.createElement('p')){
p、 appendChild(document.createTextNode(text));
文件.正文.附件(p);
}
else if(图层类型!=“未定义”&(图层=新建
层(window.innerWidth))){
layer.top=document.height;
layer.left=0;
layer.document.open();
layer.document.write(“”+文本+”);
layer.document.close();
layer.visibility='show';
document.height+=layer.clip.height;
}
}
函数createXMLFromString(字符串){
var XML文档;
试一试{
xmlDocument=newActiveXObject('Microsoft.XMLDOM');
xmlDocument.async=false;
loadXML(字符串);
归还文件;
}
捕获(e){
输出(“无法创建XML文档”);
返回null;
}
}
函数序列化XML(xmlDocument){
返回xmlDocument.xml;
}
函数postXML(url、xmlDocument、responseHandler){
var-httpRequest;
试一试{
httpRequest=newActiveXObject('Microsoft.XMLHTTP');
httpRequest.open('POST',url,true);
httpRequest.onreadystatechange=函数(){
if(httpRequest.readyState==4){
负责人(httpRequest);
}
};
httpRequest.send(xmlDocument);
返回httpRequest;
}
捕获(e){
输出(“无法发布XML文档”);
返回null;
}
}
函数createXMLFromString(字符串){
var-xmlParser,xmlDocument;
试一试{
xmlParser=newdomparser();
xmlDocument=xmlParser.parseFromString(string,'text/xml');
归还文件;
}
捕获(e){
输出(“无法创建XML文档”);
返回null;
}
}
函数序列化XML(xmlDocument){
var-xmlSerializer;
试一试{
xmlSerializer=新的xmlSerializer();
返回xmlSerializer.serializeToString(xmlDocument);
}
捕获(e){
输出(“无法序列化XML文档”);
返回“”;
}
}
函数postXML(url、xmlDocument、responseHandler){
试一试{
var httpRequest=new XMLHttpRequest();
httpRequest.open('POST',url,true);
httpRequest.onreadystatechange=函数(){
if(httpRequest.readyState==4){
负责人(httpRequest);
}
};
httpRequest.send(xmlDocument);
返回httpRequest;
}
捕获(e){
试一试{
var httpRequest=新的ActiveXObject(Msxml2.XMLHTTP);
httpRequest.open('POST',url,true);
httpRequest.onreadystatechange=函数(){
if(httpRequest.readyState==4){
负责人(httpRequest);
}
};
httpRequest.send(xmlDocument);
返回httpRequest;
}捕获(e){
输出(“无法发布XML文档”);
返回null;
}
}
}
/*下面开始使用脚本函数执行一些测试的代码
定义见上文。
*/
函数testXMLDocumentCreationFromString(){
var xmlDocument=
createXMLFromString(“”);
如果(XML文档){
输出('从字符串解析结果:'+xmlDocument);
输出('xmlDocument.documentElement.nodeName:'+
xmlDocument.documentElement.nodeName);
var xibo=xmlDocument.createElement('god');
setAttribute('name','xibo');
xmlDocument.documentElement.appendChild(xibo);
输出(
'xmlDocument.documentElement.lastChild.getAttribute(“名称”):'+
xmlDocument.documentElement.lastChild.getAttribute(“名称”);
}
归还文件;
}
函数testXMLDocumentSerialization(xmlDocument){
如果(XML文档){
输出(xmlDocument+'序列化后有标记:'+
序列化xml(xmlDocument));
}
}
函数示例ResponseHandler(httpRequest){
输出('HTTP响应状态:'+httpRequest.status);
输出('作为文本的响应:'+httpRequest.responseText);
输出('responseXML.documentElement.nodeName:'+
httpRequest.responseXML.documentElement.nodeName);
}
函数testXMLPosting(url、xmlDocument、responseHandler){
如果(XML文档){
var httpRequest=postXML(url、xmlDocument、responseHandler);
输出('试图通过HTTP将'+xmlDocument+'发布到'+url+
'结果:'+httpRequest);
}
}
window.onload=函数(evt){
var xmlDocument=“我的xml文档”;
//testXMLDocumentSerialization(xmlDocument);
testXMLPosting('myurl',xmlDocument,exampleResponseHandler);
};
XML解析、序列化、异步HTTP POST数据交换

有人能帮我解决这个问题吗………

你有权上传这个文件吗?它也可能是服务器站点上的一些配置(安全选项、缺少扩展等)。

此外,仅仅因为JavaScript的版本不同,就真的需要有这么多声明吗?

您能把代码的格式设置得更好一点吗。代码块需要缩进4个空格。还有一些信息呢