2016-09-17 515 views
0

最大要素所以我有這樣的代碼在阿賈克斯數據

function saveData(field){ 

value_insert = $("#"+field).val(); 
<?php echo "num_to_change =".$_SESSION['numero_paciente'].";";?> 
<?php echo "hospital_to_change ='".$_SESSION['hospital']."';";?> 

console.log(value_insert+" "+num_to_change+" "+field+" "+hospital_to_change); 

$.ajax({ 
     data: {"num_to_change" : num_to_change, "hospital_to_change" : hospital_to_change,"field" : field, "value_insert": value_insert}, 
     type: "POST", 
     dataType: "json", 
     url: "saveVariables.php", 
    }) 
    .done(function(data, textStatus, jqXHR) { 
     console.log("Correct."); 
     console.log(data); 
    }) 
    .fail(function(jqXHR, textStatus, errorThrown) { 
     console.log("Error: " + textStatus); 
    }); 

}

我想要做的就是發送到 「saveVariables.php」 變量:

  • 字段,我直接從觸發這個函數的輸入中獲得
  • value_insert,我用jquery從與前面相同的輸入中獲得
  • num_to_change,這是我從一個會話變量
  • hospital_to_change,這是我從一個會話變量獲得以及

但得到有時候,大部分的時間,但並不是所有的時間(這是推動我瘋了)我得到這樣的結果:「錯誤:parsererror」我的代碼

一批好奇的行爲:

  • 如果我刪除我甲肝的要素之一e發送(字段,num_to_change,value_insert或hospital_to_change)它可以順利運行。只要我再次添加var(我需要全部4個),它會再次拋出相同的錯誤

  • 它總是不會發生。比方說90%的時間。我總是嘗試相同的價值觀。

額外信息:

  1. 的 「執行console.log」 你在第7行看到總是顯示正確的價值觀的4個變量裏面

  2. 我不發送的信息噸它總是類似於:

    • value_insert - > 23

    • hospital_to_change - > Primero的

    • num_to_change - > 22

    • 場 - >毫米汞柱

,刪除一個變量使代碼工作的事情混淆我.. 。我能以這種方式發送最大數量的變量嗎?它沒有任何意義,因爲有時候工作,但我想不出別的anythig ..


已經解決:

錯誤「錯誤:parseerror」正被我的PHP代碼發送,不是我的ajax,所以現在我一步一步地開始我的php代碼,一切正常。

+0

你不需要'JSON.stringify()'你發送的數據嗎? – vlaz

+1

請提供實際發生錯誤的PHP代碼。 –

+1

''錯誤:parsererror「'意味着你的服務器不會返回有效的JSON記法 –

回答

0
$.ajax({ 
    data: {"num_to_change" : num_to_change, "hospital_to_change" : hospital_to_change,"field" : field, "value_insert": value_insert}, 
    type: "POST", 
    dataType: "application/json", 
    url: "saveVariables.php", 
}) 
.done(function(data, textStatus, jqXHR) { 
    var res = $.parseJSON(data); 
    console.log(res); 
}) 
.fail(function(jqXHR, textStatus, errorThrown) { 
    console.log("Error: " + textStatus); 
}); 

你的代碼似乎很好,我很少修改它。嘗試一次