2016-04-07 26 views
1

Konuyla ilgili birçok iş parçacığı var, ancak PHP'yi bulamadığım için bulamıyorum. Json nesnesini, daha sonra döndürülen json nesnesine sahip bir öğeyi güncelleyeceğim görünüme aktarmak istiyorum. Görünüm: İşte benim kodudurJSON nesnesini denetleyiciden denetlemek için kullanılır.

<input type="submit" class="button" name="insert" value="load"/> 

<script> 
jQuery(document).ready(function() { 
    var $ = jQuery;  
    var baseUrl = [location.protocol, '//', location.host, location.pathname].join(''); 
    $('.button').click(function(){ 
     var clickBtnValue = $(this).val(); 
     var ajaxurl = baseUrl+"?action=load"; 
     data = {'action': clickBtnValue}; 
     $.post(ajaxurl, {}, function (result) { 
      alert(result); 
     }); 
    }); 

}); 
</script> 

Ve Denetleyici geçerli:

<?php 
set_include_path(get_include_path().':../');  
require_once('_inc/common.php'); 
$action = req('action'); 

if ($action == 'load') { 
    $result = parse_ini_file('test.ini'); 
    $json = json_encode($result); 
} 

[GÜNCELLEME] cevaplara kod sağlanan sonra, şimdi bir JSON.parse hata alıyorum. Kodumu tekrar düzenledim ancak hata hala devam ediyor, Json'umun geçerli bir json olup olmadığını ve doğrulayıcıda bir hata olup olmadığını görmek için çevrimiçi olarak kontrol ettim.

$result = parse_ini_file($config_file); 
$json = json_encode(array($result),JSON_HEX_QUOT); 
var_dump($json); 
header('Content-Type: application/json'); 

Görünüm

var request = $.ajax({ 

          url: ajaxurl, 
          method: "POST", 
          data: {}, 
          dataType: "json" 
         }); 
     request.done(function(msg) {console.log("d");});  
     request.fail(function(jqXHR, textStatus) {console.log("Request failed: " + textStatus);}); 

    }); 

cevap

0

gibi, JSON çıkışının değildir ve ayrıca içerik türünü ayarlamıyorsanız yukarıda söyledi. Ancak başka bir şey fark ettim, posta isteğinin dönüş türünü (JSON) atamadınız.

$.post(url, {}, function (data) { 
    alert(data); 
}, 'JSON'); 

bunu başarısız olduğunda parse_ini_file false döndürür, bir dizi ve bir yanlış değerini kodlamak olması da emin olun.

+0

teşekkürler. Ama şimdi bir Json.parse hatası alıyorum: JSON data – coffeeak

0

bu

<script> 
jQuery(document).ready(function() { 
    var $ = jQuery;  
    var baseUrl = [location.protocol, '//', location.host, location.pathname].join(''); 
    $('.button').click(function(){ 
     var clickBtnValue = $(this).val(); 
     var ajaxurl = baseUrl+"?action=load"; 
     data = {'action': clickBtnValue}; 
     $.post(ajaxurl, {}, function (result) { 
      var json =JSON.parse(result); 
      console.log(json); //see in browser console 
     }); 
    }); 

}); 
</script> 

deneyin Ve Denetleyici geçerli: cevap için

<?php 
set_include_path(get_include_path().':../');  
require_once('_inc/common.php'); 
$action = req('action'); 

if ($action == 'load') { 
    $result = parse_ini_file('test.ini'); 
    echo json_encode($result); 
} 
+0

hatasında hata oluşmadan Unexpected non-whitespace karakteri devam ediyor. – coffeeak

İlgili konular