Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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时,Jquery/XML没有响应_Jquery_Xml_Ajax - Fatal编程技术网

使用从php文件生成的XML时,Jquery/XML没有响应

使用从php文件生成的XML时,Jquery/XML没有响应,jquery,xml,ajax,Jquery,Xml,Ajax,我想使用Jquery加载一个xml文件。xml是使用php脚本生成的(目前仅使用echo),我的问题是该文件将不会生成结果。下面列出了我的Jquery $(document).ready(function() { $.ajax({ type: "GET", url: "phpxml.php", dataType: "xml

我想使用Jquery加载一个xml文件。xml是使用php脚本生成的(目前仅使用echo),我的问题是该文件将不会生成结果。下面列出了我的Jquery

          $(document).ready(function()
          {

               $.ajax({
                 type: "GET",
                 url: "phpxml.php",
                 dataType: "xml",
                 success: displayXml
              });

          function displayXml(data){

            $(data).find("sites").each(function() {

              var heading = $(this).find("name").text();

              var output = "<li>";
              output += "<h2>" + heading + "</h2>";
              output += "</li>";
              $("#place-holder").append(output);
            });
          } 

          }); // doc ready

          </head>

          <body>

          <h2> Ajax / Jquery Test </h2>
           <ul id='place-holder'>
           </ul>
         </html>
$(文档).ready(函数()
{
$.ajax({
键入:“获取”,
url:“phpxml.php”,
数据类型:“xml”,
成功:displayXml
});
函数displayXml(数据){
$(数据)。查找(“站点”)。每个(函数(){
var heading=$(this.find(“name”).text();
var输出=“
  • ”; 输出+=“”+标题+“”; 输出+=“
  • ”; $(“#占位符”)。追加(输出); }); } }); // 医生准备好了吗 Ajax/Jquery测试
    下面是我的php文件,它只是回显xml。有人能提供一些建议吗

              $(document).ready(function()
              {
    
                   $.ajax({
                     type: "GET",
                     url: "phpxml.php",
                     dataType: "xml",
                     success: displayXml
                  });
    
              function displayXml(data){
    
                $(data).find("sites").each(function() {
    
                  var heading = $(this).find("name").text();
    
                  var output = "<li>";
                  output += "<h2>" + heading + "</h2>";
                  output += "</li>";
                  $("#place-holder").append(output);
                });
              } 
    
              }); // doc ready
    
              </head>
    
              <body>
    
              <h2> Ajax / Jquery Test </h2>
               <ul id='place-holder'>
               </ul>
             </html>
    
                <?php 
    
                echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
    
                echo"
                <sites>
                    <name>
                       J Smith
                     </name>
    
                    <name>
                       A Coxhead
                     </name>
    
                    <name>
                       D Wilson
                     </name>
    
                </sites>
                " ; 
    
                ?>
    

    Firebug或类似产品告诉您有关响应的信息是什么?首先,您的ajax请求是否得到响应

              $(document).ready(function()
              {
    
                   $.ajax({
                     type: "GET",
                     url: "phpxml.php",
                     dataType: "xml",
                     success: displayXml
                  });
    
              function displayXml(data){
    
                $(data).find("sites").each(function() {
    
                  var heading = $(this).find("name").text();
    
                  var output = "<li>";
                  output += "<h2>" + heading + "</h2>";
                  output += "</li>";
                  $("#place-holder").append(output);
                });
              } 
    
              }); // doc ready
    
              </head>
    
              <body>
    
              <h2> Ajax / Jquery Test </h2>
               <ul id='place-holder'>
               </ul>
             </html>
    

    另外,在displayXml函数中放置一个断点(或警报),以确保它正在启动…

    好吧,看来您还没有在phpxml.php文件中设置内容类型

              $(document).ready(function()
              {
    
                   $.ajax({
                     type: "GET",
                     url: "phpxml.php",
                     dataType: "xml",
                     success: displayXml
                  });
    
              function displayXml(data){
    
                $(data).find("sites").each(function() {
    
                  var heading = $(this).find("name").text();
    
                  var output = "<li>";
                  output += "<h2>" + heading + "</h2>";
                  output += "</li>";
                  $("#place-holder").append(output);
                });
              } 
    
              }); // doc ready
    
              </head>
    
              <body>
    
              <h2> Ajax / Jquery Test </h2>
               <ul id='place-holder'>
               </ul>
             </html>
    
    试试看

              $(document).ready(function()
              {
    
                   $.ajax({
                     type: "GET",
                     url: "phpxml.php",
                     dataType: "xml",
                     success: displayXml
                  });
    
              function displayXml(data){
    
                $(data).find("sites").each(function() {
    
                  var heading = $(this).find("name").text();
    
                  var output = "<li>";
                  output += "<h2>" + heading + "</h2>";
                  output += "</li>";
                  $("#place-holder").append(output);
                });
              } 
    
              }); // doc ready
    
              </head>
    
              <body>
    
              <h2> Ajax / Jquery Test </h2>
               <ul id='place-holder'>
               </ul>
             </html>
    
    
    

    确保不会发送php标记和其他wise头之前不应有空格。

    尝试将错误回调添加到
    $.ajax

              $(document).ready(function()
              {
    
                   $.ajax({
                     type: "GET",
                     url: "phpxml.php",
                     dataType: "xml",
                     success: displayXml
                  });
    
              function displayXml(data){
    
                $(data).find("sites").each(function() {
    
                  var heading = $(this).find("name").text();
    
                  var output = "<li>";
                  output += "<h2>" + heading + "</h2>";
                  output += "</li>";
                  $("#place-holder").append(output);
                });
              } 
    
              }); // doc ready
    
              </head>
    
              <body>
    
              <h2> Ajax / Jquery Test </h2>
               <ul id='place-holder'>
               </ul>
             </html>
    

    如果这确实是您的代码的样子,那么在调用
    displayXml
    之前您有空格吗?是否有任何内容写入到
    #placeholder
    ?如果不将数据类型放入
    $,则内容类型是必需的。ajax