Bonjour à tous,
Je suis sous wordpress, et dans ma fonction php j'inclus mon script jquery ajax à l'aide de wp_enqueue_script de wordpress (qui marche très bien).
Après dans mon fichier javascript j'ai ça :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function load_my_scripts() { //don't use (deregister) WP's jQuery version wp_deregister_script( 'jquery' ); //Use jQuery from Google Code wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js'); wp_enqueue_script('jquery'); //Include one of my custom javascript files wp_register_script('myscript', get_bloginfo('template_url').'/assets/js/jquery_quot.js', array('jquery'), '1.0', true ); wp_enqueue_script('myscript'); } add_action('wp_enqueue_scripts', 'load_my_scripts');
et dans mon fichier php (Qui est une page) :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 $(function(){ $("#reservation").submit(function(e){ donnees = $("#reservation").serialize(); $.ajax({ type:"POST", url: $(this).attr('action'), data:donnees, //dataType:'json', success: function(data){ alert('OK'); }, error: function(xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); console.log(err.Message); } }); e.preventDefault(); }) })
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php /* Template Name: quickQuot*/ get_header(); global $wpdb; $depart = $_POST['depart']; $arrivee = $_POST['arrivee']; $pax = $_POST['pax']; $type = $_POST['type']; //$queryPrice = $wpdb->prepare("SELECT * FROM quotation WHERE depart = '.$depart.' AND arrivee = '.$arrivee.' AND pax = '.$pax.' AND type = '.$type.'"); $queryPrice = $wpdb->prepare("SELECT * FROM quotation WHERE depart='".$depart."' AND arrivee='".$arrivee."' AND pax='".$pax."' AND type='".$type."' "); $listPrice = $wpdb->get_results($queryPrice); print json_encode($listPrice); get_footer(); ?>
le resultat json_encode
Ce que je veux faire, recuperer les valeurs de depart, arrivee, pax, type à l'aide de jquery ajax.Code:[{"ID":"60","depart":"Paris","arrivee":"Versailles","pax":"1","type":"Aller","sherut":"0","privee":"75","vip":"0"}]
Le problème :
Quand j'utilise le dataType : 'json' j'ai ça dans la console :
Citation:
Uncaught SyntaxError: Unexpected token < jquery_quot.js:13
$.ajax.error jquery_quot.js:13
c jquery.js:3
p.fireWith jquery.js:3
k jquery.js:5
r
Par contre quand je ne met pas de dataType:'json', le script passe dans succès et affiche OK sans problème.
Quelqu'un a une idée? J'ai testé le format du json sur http://jsonlint.com/ et le resultat est bon, donc d'ou peut venir l'erreur?