Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][JavaScript] wykonanie skryptu za pomocą jQuery ajax
Forum PHP.pl > Forum > Przedszkole
followc
Witam,

próbuję stworzyć kod, który z pomocą AJAXu będzie dodawał dynamicznie do bazy pewne elementy. Kod stworzyłem, niby wszystko git, bo "success:" wykonuje się jak należy, ale z nic w świecie nie mogę uzyskać ruchu związanego z plikiem odbierającym POSTa. To mój kod...

  1. jQuery(function($) {
  2. jQuery(document).ready(function(){
  3. jQuery('#insert-my-media').click(open_media_window);
  4. });
  5.  
  6. function open_media_window() {
  7. if (this.window === undefined) {
  8. this.window = wp.media({
  9. title: 'Dodaj muzykę',
  10. library: {type: 'audio'},
  11. multiple: false,
  12. button: {text: 'Dodaj'}
  13. });
  14.  
  15. var self = this;
  16. this.window.on('select', function() {
  17. var first = self.window.state().get('selection').first().toJSON();
  18. for (attr in first)
  19. console.log(attr);
  20.  
  21. //alert(first.filename);
  22. jQuery('#wyswietl_nazwe_muzyki').html(first.filename);
  23.  
  24. jQuery.ajax({
  25. type: 'POST',
  26. data: ({
  27. nazwa_muzyki : first.filename
  28. }),
  29. url: '/wp-content/themes/theme/zapytania_do_bazy.php',
  30. success: function(data) {
  31. $('#wyswietl_nazwe_muzyki').html('datasukces');
  32. }
  33. });
  34. });
  35.  
  36.  
  37. this.window.open();
  38. return false;
  39. }
  40. }
  41. });


zapytania_do_bazy.php:
  1. <?
  2. require_once( ABSPATH . 'wp-admin/includes/admin.php' );
  3.  
  4. $nazwa_muzyki = $_POST['nazwa_muzyki'];
  5. $id_posta = '581'
  6. update_post_meta($id_posta, 'votes_count', 'nazwa_muzyki');
  7.  
  8. global $wpdb;
  9. //$wpdb->query("INSERT INTO wp_postmeta (meta_id, post_id, meta_key,meta_value) VALUES ('1600', '682', 'votes_count','sukces')" );
  10. ?>


O co tu może chodzić?
trueblue
Co to znaczy, że nie możesz uzyskać ruchu?
Sprawdź w konsoli przeglądarki jaką odpowiedź zwraca żądanie ajax.

  1. update_post_meta($id_posta, 'votes_count', 'nazwa_muzyki');

tu przesyłasz stałą, zamiast zmiennej. To celowe?
followc
Ruchu znaczy się, nie ma pożądanej reakcji, żadnej widocznej.

W consoli jedynie console.log który zadałem w kodzie i

load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,plupload&ver=518cab0……:4 POST http:/l/wp-admin/admin-ajax.php net::ERR_CONNECTION_TIMED_OUT


Przesyłanie stałej zamiast zmiennej było celowe, testowałem różne opcje. Później to zmienię, nie jest istotne dla problemu;)
trueblue
Sprawdź jaką odpowiedź daje żądanie do zapytania_do_bazy.php
followc
To był niewątpliwie dobry trop, bo zwraca błąd braku funkcji wordpressowej, a gdy wyczyściłęm zapytania_do_bazy.php i wstawiłem zwykłę echo 'test'; zwraca co trzeba. Problem więc nie z ajaxem. Dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.