Jump to content
php.lv forumi

JSON no textarea nedarbojas


Recommended Posts

Parasti, ja ir vēlme uztaisīt API un ir nepieciešams kaut ko saglabāt ( izveidot, update-ot - būtībā gandrīz viss ne-GET ) tad dati tiek sūtīti kā request body un diemžēl ir nepieciešams izmantot file_get_contents("php: //input"); ( protams bez atstarpes, bet šim forumam nepatīk tas strings ).

Bet priekš kam? Tev tik ļoti nagi niez izmantot tieši $_PUT/$_DELETE? Tāpat, lai tos izmantotu, jāpielieto visādi haki, IMHO absolūti liekas galvassāpes.
Link to post
Share on other sites
  • Replies 48
  • Created
  • Last Reply

Top Posters In This Topic

json_decode neņem pretī stringu, vismaz cik mēģināju.

Tu laikam joko...

http://www.php.net/manual/en/function.json-decode.php

mixed json_decode(string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]])

 

Tu vispār pamēģināji to kodu, ko es uzrakstīju?

Edited by jurchiks
Link to post
Share on other sites

Bet priekš kam? Tev tik ļoti nagi niez izmantot tieši $_PUT/$_DELETE? Tāpat, lai tos izmantotu, jāpielieto visādi haki, IMHO absolūti liekas galvassāpes.

 

Tādēļ, ka tā parasti izstrādā pieņemamus REST API. Nav nekādi īpaši haki jāizmanto un API parasti taisa, lai ir ērti izmantot no lietotāju puses.

 

Ja tev, piemēram, ir JSON api, tad liekās savādi sūtīt, piemēram, jaunas ziņas izveidošanas datus vienkārši kā message=OMG&title=zOMG, jo tas vairs nav JSON. Tas pats attiecās uz citiem formātiem.

Link to post
Share on other sites

Bet API neatklāj lietotājam, ka tiek izmantots $_PUT/$_DELETE, lietotājam par to vajadzētu būt pie kājas, viņu interesē tikai, ka dati nonāk tur, kur tiem jānonāk.

 

 

Ja tev, piemēram, ir JSON api, tad liekās savādi sūtīt, piemēram, jaunas ziņas izveidošanas datus vienkārši kā message=OMG&title=zOMG, jo tas vairs nav JSON.

Par to lietotājam arī vajadzētu būt vienalga, jo strādās viņš tāpat ar rezultējošo masīvu/objektu, nevis JSON stringu.

Link to post
Share on other sites

Ko neatklāj? Dokumentācijā tas tiek noklusēts? :D

 

Ja tu taisi API izsaukumu, tev tā kā vispirms jānorāda, ar kādu metodi tas notiek. Grūti nejauši nosūtīt PUT, ja tu nezini, ka tas ir jādara.

Link to post
Share on other sites

Ok, es nebiju domājis, ka tu tos API requestus pats manuāli taisi caur curl, es biju domājis, ka ir jau esošs kods, caur kuru tu taisi tos API requestus, piemēram, facebook SDK. Tur nekādi rekvesti pašam nav jātaisa un lietotājs par tiem neko nezin, un, IMHO, viņam arī to nevajag zināt.

Link to post
Share on other sites

Jurchik, beidz sevi apkaunot! file_get_contents('php: //input') ir pareizais veids kā saņemt php pusē datus nokovertētus JSONā

 

$data = json_decode( file_get_contents('php: //input') );

 

Visi JS MV frameworki šādā veidā sūta datus uz serveri. Un tas arī ir ļoti ērti

Link to post
Share on other sites

Es vienkārši cenšos saprast, nahuj tīšām sarežģīt dzīvi un vispār tik zemā līmenī operēt.

 

Anyway, ja jau tik ārprātīgi gribās: http://www.php.net/manual/en/features.commandline.io-streams.php

 

http://www.php.net/manual/en/wrappers.php.php

It is recommended that you simply use the constants STDINSTDOUT and STDERR instead of manually opening streams using these wrappers.

Edited by jurchiks
Link to post
Share on other sites

Jebkuru cilvēku, kurš apgalvo, ka "file_get_contents('php://input')" ir ērts un labs veids, kā operēt, vajag izolēt no sabiedrības kā garīgi nestabilu ar noslieci šaut sev kājās.

Edited by Kavacky
Link to post
Share on other sites

Jebkuru cilvēku, kurš apgalvo, ka "file_get_contents('php://input')" ir ērts un labs veids, kā operēt, vajag izolēt no sabiedrības kā garīgi nestabilu ar noslieci šaut sev kājās.

 

Tevi pubertāte joprojām moka, vai arī dzīve esi tik nenovērtēts, ka vienīgais veids pašapmierināties ir tēlot tēvaini forumā?  

Nevienam nav skaidrs bez kārtīgiem argumentiem (vismaz man), kas vainas "file_get_contents('php://input'). Saņemies taču! 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...