Ajax получить дату в формате дд / мм / гггг с xml - PullRequest
0 голосов
/ 21 апреля 2020

Здравствуйте, люди нуждаются в вашей помощи в этой проблеме, пожалуйста

У меня есть это xml

<holidays >
<holiday>
<type>personal</type>
<name>AA</name>
<date>
<year>2020</year>
<month>1</month>
<day>1</day>
</date>
</holiday>

и это мой ajax

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            $("#b1").click(function () {
                var flag=false;
        $.ajax({
            type:"get",
            dataType:"xml",
            url:"Holiday.xml",
            success:function(xml){
                $(xml).find("holiday").each(function (){
                    if($(this).find("name").text()==$("#t1").val()){
                        $("#t2").val($(this).find("type").text());
                        $("#t3").val($(this).find("year/month/day").text());
                        flag=true;
                    }
                });


        </script>
</head>
<body>
    Holdiday Name:<input type="text" id="t1" /><input type="button" id="b1" value="SEARCH" /><br />
    Holdiay Type:<input type="text" id="t2" /><br />
    Holiday Date:<input type="text" id="t3" /><br />


</body>
</html>

Моя проблема в том, как я могу назвать дату в году / месяце / дне с xml до ajax

 $("#t3").val($(this).find("year/month/day").text());

* * Я сделал это, но не работал, пожалуйста, помогите и спасибо **


let xml = `<holidays >
  <holiday>
    <type>personal</type>
    <name>AA</name>
    <date>
      <year>2020</year>
      <month>1</month>
      <day>1</day>
    </date>
</holiday>`;

$(xml).find("holiday").each(function (){
  let $holiday = $(this);
  let type = $holiday.find("type").text();
  let year = $holiday.find("date year").text();
  let month = $holiday.find("date month").text();
  let day = $holiday.find("date day").text();
  console.log(type, year, month, day);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

я не могу поместить их на одну и ту же страницу ... на самом деле на этом сайте есть файл xml и файл html, я должен позвонить по номеру xml в html должно быть выполнено задание

1 Ответ

0 голосов
/ 21 апреля 2020

jQuery .find () ожидает селектор CSS, а не выражение XPATH; даже если это так, с "year/month/day" вы даже не предоставляете правильное вложение, потому что год, месяц и день находятся на одном уровне.

let xml = `<holidays >
  <holiday>
    <type>personal</type>
    <name>AA</name>
    <date>
      <year>2020</year>
      <month>1</month>
      <day>1</day>
    </date>
</holiday>`;

$(xml).find("holiday").each(function (){
  let $holiday = $(this);
  let type = $holiday.find("type").text();
  let year = $holiday.find("date year").text();
  let month = $holiday.find("date month").text();
  let day = $holiday.find("date day").text();
  console.log(type, year, month, day);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...