lostyazilim
tr.link

Ajax Call çalıştıramıyorum

7 Mesajlar 849 Okunma
acebozum
tr.link

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
Merhabalar. Hazırlamakta olduğum bir eklentide fonksiyonların yer aldığı php dosyamda ajax çağrısı çalışmamakta. Yani fonksiyon kodlarını wordpress temanın functions.php dosyasına eklediğimde eklenti gayet verimli şekilde çalışıyor ancak takdir edersiniz ki herkes manuel girip temasının functions.php'ine ekleme yapamaz. Bu yüzden eklentinin kendi dosyalarında functions.php oluşturup buraya da ajax call yapmaya çalışıyorum ancak yanıt vermiyor ve console'dan baktığımda wp-admin/admin-ajax.php 400 döndürüyor. Kullandığım kodlar şöyle:

admin-index.php


wp_enqueue_style('db-clean-orbyx-admin-style',plugins_url('/css/style.css', __FILE__), false, 1, 'all');
wp_enqueue_script('db-clean-orbyx-admin-script',plugins_url('/js/plugin.js', __FILE__), false, 1, 'all');
?>






Aday 1

Aday 2

Aday 3






plugin.js


$('#p_button').click(function (e) {
$(document).ready(function () {
let form = $('#test');
$.ajax({
url: ajax_object.ajaxurl,
method: 'POST',
data: form.serialize() + '&action=test_action',
success: function (data) {
console.log(data);
}
});
});
});


eklentinin functions.php dosyası


function my_test() {
wp_enqueue_script( 'ajax-script', plugins_url('/js/plugin.js', __FILE__), array('jquery') );
wp_localize_script( 'ajax-script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_test' );
add_action('wp_ajax_test_action' , 'test_action');
add_action('wp_ajax_nopriv_test_action' , 'test_action');
function test_action(){
if(isset($_POST["p-settings1"])) {
echo "

Aday 1'i Seçtiniz!

";}
else {
echo "

Başarısız!

";}
die();}
?>
 

 

wmaraci
reklam

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
Yardımcı olabilecek kimse yok mudur?
 

 

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2771
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
Localize kısmında ajax_url yazmışsın. Ama js dosyasında ajaxurl yazıyor. Bundan kaynaklı olabilir. Ayrıca aldığın hataları yazarsan daha iyi yardımcı olabiliriz.
Lions

kişi bu mesajı beğendi.

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
wpuzman Hocam düzeltmeyi yaptım yani localize kısmında ajax_object --- ajax_url yaptım JS kısmında da url kısmına ajax_object.ajax_url yaptım ancak consolde ReferenceError: ajax_object is not defined hatası alıyorum.
 

 

wmaraci
wmaraci

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2771
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
Js dosyası komple böyle olsun.

(function ($) {
'use strict';

$('#p_button').click(function (e) {
let form = $('#test');
$.ajax({
url: ajax_object.ajaxurl,
method: 'POST',
data: form.serialize() + '&action=test_action',
success: function (data) {
console.log(data);
}
});
});
})(jQuery);
Lions

kişi bu mesajı beğendi.

Lions Lions WM Aracı Kullanıcı
  • Üyelik 05.05.2017
  • Yaş/Cinsiyet 29 / E
  • Meslek Web-Developer
  • Konum İstanbul Avrupa
  • Ad Soyad M** K**
  • Mesajlar 1025
  • Beğeniler 366 / 534
  • Ticaret 5, (%100)
wpuzman Yok hocam yine not defined hatası almaktayım.
 

 

wpuzman wpuzman WordPress Developer Kullanıcı
  • Üyelik 13.01.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım
  • Konum Trabzon
  • Ad Soyad B** M**
  • Mesajlar 2771
  • Beğeniler 293 / 949
  • Ticaret 33, (%100)
anydesk atın bakayım. Sorun başka bir şeyden kaynaklı sanırım.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)