2015-08-18 3 views
0

Вот код, который я пытаюсь запустить.AJAX POST метод, возвращающий значение null?

$(document).ready(function(){ 
    $("#btn1").click(function(){ 
     $.ajax({ 
      url:'http://sensecan.org/wisekar/api/resource.php/resource  /event?key=ma5Tfkp3ajZKPoP746sDCHdd7144&nodeId=8078&typeId=4&status=74,52', 
      dataType: 'json', 
      type: 'POST', 
      crossDomain:true, 
      contentType: 'application/json', 
      data: { }, 
      success: function(data){ 
       console.log(data); 
       document.getElementById("two").innerHTML = data.result.wEventId; 
      }, 
      failure: function(errMsg) { 
       console.log(errMsg); 
      } 
      var myData = data; 
      myData= new Array;  
     }); 
    }); 
}); 

Он не возвращает никаких сообщений об ошибке, и не работает. Это мой первый метод POST, так что избавь меня, если я что-то делаю неправильно. Я также включил ссылку на сайт, на которой я пытаюсь это сделать. Спасибо заранее. Я также создал html-страницу, на которой я должен отображать данные. и код ниже.

<!DOCTYPE html> 
<html> 
    <head> 
     <title>POST API</title> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"></script> 
     <script type="text/javascript" src="post.js"></script> 
     <script type="text/javascript" src="get.js"></script> 
    </head> 
    <body> 
     <div> 
      <button id="btn1">Check HTTP POST</button> 
      <p> Display sample output from POST API: </p> 
      <p id="one" >wEventId : </p> 
      <p id="two"> </p> 
     </div> 
     <div> 
      <button id="btn2">Get Data</button></br> 
      <p id="seven" /></br>  
      <p id="eight" /></br>  
      <p id="three" /></br> 
      <p id="four" /></br> 
      <p id="five" /></br> 
      <p id="six" /> 
     </div> 
    </body> 
</html> 

Я также создал запрос на получение, который работает отлично.

+0

это не только синтаксис проблема ...? Я думаю, вы должны закрыть свой блок $ .ajax перед объявлением переменных ... – Julo0sS

ответ

0

Почему ваша переменная «myData» в ваш блок $ .ajax ...?

Вашего код Javascript должен выглядеть, и кстати, добавить некоторые журналы консоли в блоки, чтобы проверить, где вы собираетесь, как это:

$(document).ready(function(){ 
     $("#btn1").click(function(){ 
      console.log('launch click function!'); 
      $.ajax({ 
       url:'http://sensecan.org/wisekar/api/resource.php/resource  /event?key=ma5Tfkp3ajZKPoP746sDCHdd7144&nodeId=8078&typeId=4&status=74,52', 
       dataType: 'json', 
       type: 'POST', 
       crossDomain:true, 
       contentType: 'application/json', 
       data: {"someData":"some data"}, 
       success: function(data){ 
        console.log('AJAX SUCCESS, data : '+data); 
        document.getElementById("two").innerHTML = data.result.wEventId; 
       }, 
       error: function(errMsg){ 
        console.log('AJAX FAILED, message : '+errMsg); 
       } 
      }); 
      console.log('MYDATA VAR DECLARATION'); 
      var myData = data; 
      myData= new Array; 
     }); 
    }); 

Надеется, что это помогает

0

Вот решение, которое я обнаружил. Ниже приводится get.js

$(document).ready(function(){ 
$("button").click(function() 
{ 
    var myData= new Array(); 
    var myJSON; 

    $.get("http://sensecan.org/wisekar/api/resource.php/resource/datasets.json?key=ma5Tfkp3ajZKPoP746sDCHdd7144&datasetId=29&typeId=11", 
    function(data, status){ 
     crossDomain: true; 
     myData = data; 
     //alert("Data: " + data +"\nStatus: " + status);    
     myJSON = JSON.parse(data);   
     //console.log(myJSON[0].datasetName); 
     document.getElementById("seven").innerHTML =myJSON[0].datasetId; 
     document.getElementById("eight").innerHTML =myJSON[0].datasetName; 
     document.getElementById("three").innerHTML =myJSON[0].datasetSource; 
     document.getElementById("four").innerHTML =myJSON[0].contributor; 
     document.getElementById("five").innerHTML =myJSON[0].addedOn; 
     document.getElementById("six").innerHTML =myJSON[0].updatedOn; 
    }); 
}); 

});

Почтовый адрес внизу.

$(document).ready(function(){ 

      $("#btn1").click(function(){ 

       $.ajax({ 

    url:'http://sensecan.org/wisekar/api/resource.php/resource/event?key=ma5Tfkp3ajZKPoP746sDCHdd7144&nodeId=8078&typeId=11&status=74,52', 

        dataType: 'json', 

        type: 'POST', 

      crossDomain:'true', 

      contentType: 'application/json', 

       data: { }, 

    success: function(data){ 

    console.log(data); 

    document.getElementById("two").innerHTML = data.result.wEventId; 

      }, 

     failure: function(errMsg){ 

        console.log(errMsg); 

          } 

var myData = data; 

    myData= new Array; 


        }); 

      }); 

    }); 

А вот HTML файл

<!DOCTYPE html> 

    <html> 

    <head> 

     <title>POST API</title> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"></script> 

    <script type="text/javascript" src="post.js"></script> 

    <script type="text/javascript" src="get.js"></script> 

    </head> 

    <body> 


     <div> 

        <button id="btn1">Check HTTP POST</button> 

        <p> Display sample output from POST API: </p> 

        <p id="one" >wEventId : </p> 

        <p id="two"> </p> 

     </div> 


     <div> 

        <button id="btn2">Get Data</button> 

    <p id="seven"></p> 

      <p id="eight" ></p>  

      <p id="three" ></p>  
      <p id="four" ></p> 
      <p id="five"></p> 

       <p id="six"></p> 


     </div> 


    </body> 

    </html>