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).
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'); |
Après dans mon fichier javascript j'ai ça :
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();
})
}) |
et dans mon fichier php (Qui est une page) :
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
[{"ID":"60","depart":"Paris","arrivee":"Versailles","pax":"1","type":"Aller","sherut":"0","privee":"75","vip":"0"}]
Ce que je veux faire, recuperer les valeurs de depart, arrivee, pax, type à l'aide de jquery ajax.
Le problème :
Quand j'utilise le dataType : 'json' j'ai ça dans la console :
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?
Partager