Kezdőoldal » Számítástechnika » Weblapkészítés » Miért nem lehet dolgozni...

Miért nem lehet dolgozni ennek a függvények a kimenetével?

Figyelt kérdés

Most kezdtem el tanulni a json-t és az ajaxot és itt akadtam el:

Van egy ilyen függvényem, ami, ha lefuttatom a chrome console-ban, kiírja szépen a szűrőket. Viszont, amikor próbálok vele dolgozni a kódban, akkor nem működik. Ha már itt találtok hibát, szóljatok, ha nem, akkor mondjátok, még mit küldjek el.


function get_filters_JSON(){

var filters = [];

//Szűrők:

var filter_list = new Array();

$("input[name='enabled_filters']:checked").each(function(){

filter_list.push(this.value);

});

//console.log(filter_list)


var cols;

$.getJSON("get_cols.php", function(cols){


for(var key = 0; key < filter_list.length; key++){

if (key!=0) {filters_txt+=", "}

for(var i = 0; i < cols.length; i++){

if (cols[i].col_name==filter_list[key]) {

filter_type = cols[i].filter_type;

break;

}

}

//console.log(filter_type);

if (filter_type == "between_or_equal") {

if(get_value_by_id(filter_list[key])=="="){

filters.push( {"col_name": filter_list[key], "filter_type": "equal_to", "data": get_value_by_id(filter_list[key]+"_equal") } )

}

else{

from = get_value_by_id(filter_list[key]+"_from");

to = get_value_by_id(filter_list[key]+"_to");

filters.push({"col_name": filter_list[key], "filter_type": "between", "from": from, "to": to});

}

}

else{

filters.push({"col_name": filter_list[key], "filter_type": "equal_to", "data": get_value_by_id(filter_list[key])});

}

}

});

return filters;

}



Elméletileg így kéne kinéznie a JSON-nak:

[

{"col_name": "hazgyar", "filter_type": "equal_to", "data": "xyz"},

{"col_name": "utca", "filter_type": "search", "data": "xyz"},

{"col_name": "epitesi_ev", "filter_type": "between", "from": 1964, "to": 1999}

]



2017. nov. 12. 10:48
1 2
 1/11 A kérdező kommentje:

Bocs, gyakorikérdések kiszedte a tabokat.

Itt van a kód szépen: [link]

2017. nov. 12. 10:52
 2/11 A kérdező kommentje:
Bocsánat, benne maradt egy régebbi kódrészlet. Itt van a függvény harmadjára: [link]
2017. nov. 12. 10:59
 3/11 A kérdező kommentje:
És itt van, amit nem értek: Ha csak simán lekérem, akkor szépen visszaadja az adatokat, amikor meg berakom JSON.stringify()-ba, akkor nem megy.
2017. nov. 12. 11:05
 4/11 A kérdező kommentje:
2017. nov. 12. 11:05
 5/11 anonim ***** válasza:

1. Kép helyett használj kódmegosztó weboldalt a forráskód megosztására - pastebin, hastebin, Github Gist,...

2. Írd le, mire szolgálna ez a függvány. Mit kellene csinálnia és mit nem csinál?

2017. nov. 12. 12:00
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

1. Ennek a mondatnak semmi értelme:


És itt van, amit nem értek: Ha csak simán lekérem, akkor szépen visszaadja az adatokat, amikor meg berakom JSON.stringify()-ba, akkor nem megy.


2. Ne használj jQuery-t, míg a natív kód sem megy. + egy hely, ahol ismeretlen, hogy mit, hol, milyen formában kapsz meg.

2017. nov. 12. 12:10
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

Elsőnek meg kell értened a JS működését!

A $.getJSON() async funkció ahogy minden AJAX alapú dolog.

Azaz nem várja meg a lefutássást, hanem meghívja egy külön szállón és megy tovább...

A getJSON() helyett:

$.getJSON(myUrl, myData, function(data) {

//stuff

//...

});


Megpróbálhatod így ajax -al:

$.ajax({

url: myUrl,

dataType: 'json',

async: false,

data: myData,

success: function(data) {

//stuff

//...

}

});

2017. nov. 12. 12:33
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

$.getJSON("get_cols.php", function(cols){



$.ajax({url: "get_cols.php", dataType: 'json', async: false, success: function(cols) {

2017. nov. 12. 12:35
Hasznos számodra ez a válasz?
 9/11 A kérdező kommentje:

Ezen az oldalon van a program, megnézhetitek a teljes forráskódot.: [link]


Ahol elakadtam, az az a lépés, hogy az összegyűjtött adatokat elküldjem a szerverre és onnan visszakapjak egy json-t, amiből jquery-vel táblázatot generálok.


A teszteléseimből arra következtettem, hogy a fent leírt függvényben van a hiba és nem jó formátumban(?) adja vissza az értéket.

2017. nov. 12. 15:55
 10/11 anonim ***** válasza:
Kapcsolj át write-only üzemmódból.
2017. nov. 12. 17:34
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!