mijn ajax werkt niet
mijn success van ajax ontvangt geen data kan iemand mij even de juiste kant ophelpen
code staat hier onder.
Mvg ralph
indexModel
class indexModel extends model
{
function __construct(){
parent::__construct();
}
public function getAllContacts(){
$this->db->setTable('contacten');
$this->db->setQuery('SELECT * FROM `contacten` JOIN `type` ON contacten.type_id = type.type_id');
$result = $this->db->select();
return $result;
}
}?>
indexController
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?php
class indexController extends controller
{
function __construct()
{
parent::__construct();
require 'model/indexModel.php';
// laad de model
$this->model = new indexModel();
//laad de view
$this->view->render('index');
}
/*
* getAllContacts
*
* @param sort string.
*
* @return results mixxed array
*/
public function getAllContacts()
{
echo 'test';
$result = $this->model->getAllContacts();
return json_encode($result);
}
}
indexView
[code]<?php
<div id="overzicht"><!-- hier komt het overzicht --></div>
?>
global.js
<?php
$(function(){
//overzicht.
//ajax calls
$('#overzicht').ready(function(){
$.ajax({
type : 'POST',
url :'localhost/index/getAllContacts',
success:function(data) {
console.log(data);
$('#overzicht').html(data);
}
});
})
//wijzigen
//login
$('#logIn').click(function(){
var bot = $('#bot').val();
if(bot === undefined){
var user = $('#gebruikersnaam').val();
var pass = $('#wachtwoord').val();
//ajaxcall
$.ajax({
type : 'POST',
url :'localhost/login/validateLogin',
data:{
user :user,
pass: pass,
},
success:function(data) {
console.log(data);
//window.location.replace('index');
},
});
}else{
return false;
}
})
//functies
});
?>
class indexController extends controller
{
function __construct()
{
parent::__construct();
require 'model/indexModel.php';
// laad de model
$this->model = new indexModel();
//laad de view
$this->view->render('index');
}
/*
* getAllContacts
*
* @param sort string.
*
* @return results mixxed array
*/
public function getAllContacts()
{
echo 'test';
$result = $this->model->getAllContacts();
return json_encode($result);
}
}
indexView
[code]<?php
<div id="overzicht"><!-- hier komt het overzicht --></div>
?>
global.js
<?php
$(function(){
//overzicht.
//ajax calls
$('#overzicht').ready(function(){
$.ajax({
type : 'POST',
url :'localhost/index/getAllContacts',
success:function(data) {
console.log(data);
$('#overzicht').html(data);
}
});
})
//wijzigen
//login
$('#logIn').click(function(){
var bot = $('#bot').val();
if(bot === undefined){
var user = $('#gebruikersnaam').val();
var pass = $('#wachtwoord').val();
//ajaxcall
$.ajax({
type : 'POST',
url :'localhost/login/validateLogin',
data:{
user :user,
pass: pass,
},
success:function(data) {
console.log(data);
//window.location.replace('index');
},
});
}else{
return false;
}
})
//functies
});
?>
Wat zit er in $result op regel 30 ?
ff een dumpje maken voor je
dit is wat ik krijg als ik de functie niet met ajax aanroep Maar gewoon met een url
array(2) { [0]=> array(9) { ["id"]=> string(1) "2" ["bedrijfsnaam"]=> string(10) "Freelancer" ["type"]=> string(6) "Intern" ["adres"]=> string(17) "estafetteweg 657 " ["postcode"]=> string(6) "2803AA" ["vestigingsplaats"]=> string(5) "Gouda" ["telefoonnummer"]=> string(10) "0123456789" ["email"]=> string(18) "[email protected]" ["website"]=> string(13) "freelancer.nl" } [1]=> array(9) { ["id"]=> string(1) "1" ["bedrijfsnaam"]=> string(4) "test" ["type"]=> string(11) "Leverancier" ["adres"]=> string(4) "test" ["postcode"]=> string(6) "2807BN" ["vestigingsplaats"]=> string(5) "gouda" ["telefoonnummer"]=> string(10) "0182511036" ["email"]=> string(5) "ralph" ["website"]=> string(14) "wwww.test.nl " } }
Gewijzigd op 16/12/2014 14:17:50 door ralph vander tang
Er staat trouwens nog echo 'test'; en dat mag ook niet want dan krijg je geen geldige JSON.
Verder om het helemaal netjes te doen zou je
bovenin je functie mogen plaatsen.
(
[id] => 2
[bedrijfsnaam] => Freelancer
[type] => Intern
[adres] => estafetteweg 657
[postcode] => 2803AA
[vestigingsplaats] => Gouda
[telefoonnummer] => 0123456789
=> [email protected]
[website] => freelancer.nl
)
[1] => Array
(
[id] => 1
[bedrijfsnaam] => test
[type] => Leverancier
[adres] => test
[postcode] => 2807BN
[vestigingsplaats] => gouda
[telefoonnummer] => 0182511036
[email] => ralph
[website] => wwww.test.nl
)
ziet er toch uit zoals het hoort
Gewijzigd op 16/12/2014 14:24:14 door ralph vander tang
console.log(data[0].bedrijfsnaam);
als dat werkt dan kun je dit doen:
Gewijzigd op 16/12/2014 14:27:16 door Frank Nietbelangrijk
return json_encode($result); is de manier waarop ik het wil terug geven aan mijn js
uiteindelijk zal de model een tabel voor mij maken die via de controller doorgegeven moet worden ana de view. maar aan gezien ik compleet geen data terug krijg zal dat ook niet werken
Gewijzigd op 16/12/2014 14:28:59 door ralph vander tang
en heb je die echo er uit gehaald?
console.log(data.length); geeft 0 dus ergens gaat er iets fout
vermoed dus dat er wat fout gaat met mijn return json_encode($result);
Gewijzigd op 16/12/2014 14:32:03 door ralph vander tang
Je zou dan een json string kunnen krijgen in de browser
Notice: Undefined index: user in C:\devel\xampp\htdocs\controller\loginController.php on line 28
Notice: Undefined index: pass in C:\devel\xampp\htdocs\controller\loginController.php on line 29
Notice: Array to string conversion in C:\devel\xampp\htdocs\controller\loginController.php on line 33
Array
Maar als ik naar localhost/index/getAllContacts ga krijg ik dit terug
Array ( [0] => Array ( [id] => 2 [bedrijfsnaam] => Freelancer [type] => Intern [adres] => estafetteweg 657 [postcode] => 2803AA [vestigingsplaats] => Gouda [telefoonnummer] => 0123456789 => [email protected] [website] => freelancer.nl ) [1] => Array ( [id] => 1 [bedrijfsnaam] => test [type] => Leverancier [adres] => test [postcode] => 2807BN [vestigingsplaats] => gouda [telefoonnummer] => 0182511036 [email] => ralph [website] => wwww.test.nl ) )
[size=xsmall][i]Toevoeging op 16/12/2014 14:41:11:[/i][/size]
w8 dat kwam door een return die er nog stond van mijn eigen testjes ik krijg niks terug
echo json_encode geeft wel de juiste waardes terug
[{"id":"2","bedrijfsnaam":"Freelancer","type":"Intern","adres":"estafetteweg 657 ","postcode":"2803AA","vestigingsplaats":"Gouda","telefoonnummer":"0123456789","email":"[email protected]","website":"freelancer.nl"},{"id":"1","bedrijfsnaam":"test","type":"Leverancier","adres":"test","postcode":"2807BN","vestigingsplaats":"gouda","telefoonnummer":"0182511036","email":"ralph","website":"wwww.test.nl\r\n"}] krijg ik terug van mijn echo json_encode
Gewijzigd op 16/12/2014 14:42:45 door ralph vander tang
Nah goed eerst zorgen dat je een geldige json string krijgt in de browser en dan verder met javascript.
heb je nog tips ? want ik snap niet meer wat ik fout doe
zou
2
moeten teruggeven. Ik heb dat zojuist nog geprobeerd.
Maar moet er op regel 33 niet komen te staan?
undefined krijg ik terug en heb echt geen idee meer wat ik fout doe maakt het mssn uit dat het oop is ?
Je moet dan in het venster van je browser enkel de tekst
krijgen als alles goed zou werken.
index controller
Code (php)
indexModel.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?
public function getAllContacts(){
$this->db->setTable('contacten');
$this->db->setQuery('SELECT `id`,`bedrijfsnaam`, `type`, `adres`,`postcode`,`vestigingsplaats`,`telefoonnummer`,`email`,`website` FROM `contacten` JOIN `type` ON contacten.type_id = type.type_id');
$result = $this->db->select();
$table = ' <table>
<tr>
<th>Bedrijfsnaam :</th><th>type :</th><th>adres :</th><th>postcode :</th><th>telefoonnummer :</th><th>email :</th><th>website :</th>
<tr>
';
Foreach($result as $key=>$val){
$table .= ' <tr>
<td>'.$val['bedrijfsnaam'].'</td><td>'.$val['type'].' </td><td>'.$val['adres'].'</td><td>'.$val['postcode'].' </td><td>'.$val['telefoonnummer'].' </td><td>'.$val['email'].' </td><td>'.$val['website'].' </td>
</tr>
';
}
$table .= '</table>';
return $table;
}
?>
public function getAllContacts(){
$this->db->setTable('contacten');
$this->db->setQuery('SELECT `id`,`bedrijfsnaam`, `type`, `adres`,`postcode`,`vestigingsplaats`,`telefoonnummer`,`email`,`website` FROM `contacten` JOIN `type` ON contacten.type_id = type.type_id');
$result = $this->db->select();
$table = ' <table>
<tr>
<th>Bedrijfsnaam :</th><th>type :</th><th>adres :</th><th>postcode :</th><th>telefoonnummer :</th><th>email :</th><th>website :</th>
<tr>
';
Foreach($result as $key=>$val){
$table .= ' <tr>
<td>'.$val['bedrijfsnaam'].'</td><td>'.$val['type'].' </td><td>'.$val['adres'].'</td><td>'.$val['postcode'].' </td><td>'.$val['telefoonnummer'].' </td><td>'.$val['email'].' </td><td>'.$val['website'].' </td>
</tr>
';
}
$table .= '</table>';
return $table;
}
?>
en mijn java script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?
$(function(){
//overzicht.
//ajax calls
$('#overzicht').ready(function(){
$.ajax({
type : 'POST',
url :'localhost/index/getAllContacts',
success: function(data) {
console.log(data.status);
//$('#overzicht').append(data);
}
});
})
//wijzigen
//login
$('#logIn').click(function(){
var bot = $('#bot').val();
if(bot === undefined){
var user = $('#gebruikersnaam').val();
var pass = $('#wachtwoord').val();
//ajaxcall
$.ajax({
type : 'POST',
url :'localhost/login/validateLogin',
data:{
user :user,
pass: pass,
},
success:function(data) {
console.log(data);
//window.location.replace('index');
},
});
}else{
return false;
}
})
//functies
});
?>
$(function(){
//overzicht.
//ajax calls
$('#overzicht').ready(function(){
$.ajax({
type : 'POST',
url :'localhost/index/getAllContacts',
success: function(data) {
console.log(data.status);
//$('#overzicht').append(data);
}
});
})
//wijzigen
//login
$('#logIn').click(function(){
var bot = $('#bot').val();
if(bot === undefined){
var user = $('#gebruikersnaam').val();
var pass = $('#wachtwoord').val();
//ajaxcall
$.ajax({
type : 'POST',
url :'localhost/login/validateLogin',
data:{
user :user,
pass: pass,
},
success:function(data) {
console.log(data);
//window.location.replace('index');
},
});
}else{
return false;
}
})
//functies
});
?>
Toevoeging op 16/12/2014 15:17:56:
ik krijg dat idd te zien samen met mijn menu
Toevoeging op 16/12/2014 15:21:52:
ahhhhhhh
Toevoeging op 16/12/2014 15:22:16:
Nooit geen HTML genereren in je model!
Toevoeging op 16/12/2014 15:22:50:
oke dus alleen array ophalen en dan doorgeven ?