Diqqətlə mesaj əlavə edin php. PHP AJAX CRUD: MySQL verilənlər bazasında qeydlərin yaradılması, silinməsi, redaktə edilməsi

Sonda başa düşdüm: həyat yoldaşından yaxşısını tapa bilməzsən. Geriyə həyat yoldaşı tapmaq qalır

PHP AJAX CRUD: MySQL verilənlər bazasında qeydlərin yaradılması, silinməsi, redaktə edilməsi

Bu yazıda biz PHP-dən istifadə edərək MySQL verilənlər bazasında qeydləri necə əlavə etmək, redaktə etmək və silmək barədə öyrənəcəyik. Biz server tərəfindəki skriptə AJAX sorğusu göndərən JQuery işləyicisindən istifadə etdik. İşləyici qeydlərin siyahısını yeniləyir.

Yaratmaq, silmək, redaktə etmək üçün sorğuların göndərilməsi üçün AJAX forması

Qeyd əlavə edərkən, forma AJAX sorğusu vasitəsilə məlumatları PHP skriptinə göndərir. Əlavə uğurlu olarsa, girişlərin siyahısı yenidən yüklənir.

CRUD verilənlər bazası sorğusu üçün JQuery AJAX funksiyaları

JQuery AJAX funksiyasında bizdə redaktə və silmək üçün keçid halları var. Bu hallar verilənlər bazası hərəkətlərindən asılı olaraq müxtəlif sorğu və cavab məlumat sətirləri yaradır.

showEditBox(id) ( $("#frmAdd").hide(); var currentMessage = $("#message_" + id + ".message-content").html(); var editMarkUp = ""+currentMessage+" SaveLəğv et"; $("#message_" + id + " .message-content").html(editMarkUp); ) funksiyası ləğvEditEdit(message,id) ( $("#message_" + id + " .message-content") .html(mesaj); $("#frmAdd").show(); ) funksiyası callCrudAction(action,id) ( $("#loaderIcon").show(); var queryString; switch(action) ( case "add" ": queryString = "action="+action+"&txtmessage="+ $("#txtmessage").val(); break; case "edit": queryString = "action="+action+"&message_id="+ id + " &txtmessage="+ $("#txtmessage_"+id).val(); break; case "delete": queryString = "action="+action+"&message_id="+ id; break; ) jQuery.ajax(( url: "crud_action.php", data:queryString, növü: "POST", müvəffəqiyyət:funksiya(data)( keçid(action) ( hal "əlavə et": $("#comment-list-box").append(data); break; case "edit": $("#message_" + id + " .message-content").html(data); $("#frmAdd").show(); fasilə; case "delete": $("#message_"+id).fadeOut(); fasilə; ) $("#txtmessage").val(""); $("#loaderIcon").gizlət(); ), xəta:funksiya ()() )); )

CRUD əməliyyatları üçün PHP skripti

Aşağıdakı kod verilənlər bazasına qarşı sorğuları yerinə yetirir. Bu PHP skripti CRUD əməliyyatını yerinə yetirdikdən sonra AJAX cavabı nəticəsində qeydləri yeniləyir.

require_once("dbcontroller.php"); $db_handle = yeni DBController(); $action = $_POST["fəaliyyət"]; if(!empty($action)) ( switch($action) ( "əlavə et" halı: $nəticə = mysql_query("INSERT INTO comment(message) VALUES("".$_POST["txtmessage"].")" ) ; if($result)($insert_id = mysql_insert_id(); echo " Redaktə Silin " . $_POST["txtmessage"] . " "; ) fasilə; case "edit": $result = mysql_query("YENİLƏNİŞ şərh dəsti mesajı = "".$_POST["txtmessage"]."" WHERE id=".$_POST["message_id"]); if($result) echo $_POST["txtmessage"]; break; case "delete": if ( !empty($_POST["message_id"])) ( mysql_query("DELETE FROM FROM comment WHERE id=".$_POST["message_id"]); ) break; ) )

Ümumi baxış

İlk dəfə Joomla-da quraşdırılmış bildiriş sistemi tətbiqinizə istifadəçini (və ya istifadəçilər qrupunu) müxtəlif hadisələr haqqında məlumatlandırmağa imkan verir. Bildirişləri istifadəçinin oxumaqda və izləməkdə maraqlı olacağı vacib xəbərdarlıqlar kimi düşünün.
Bildirişlər hər yerdə yaradıla bilər. Komponentinizdə və ya plaginlərinizdə və daha sonra JomSocial bildiriş sistemində göstərilir.
Bu dərslik sizə bunu necə göstərəcək, lakin istifadə edə biləcəyimiz hər hansı üçüncü tərəf komponenti haqqında fikrimiz olmadığına görə:) nümunələr onAfterProfileUpdate hadisəsində işə salınacaq icma plaginində aparılacaq.
Bu hadisədə işə salınacaq plagini necə yaratacağınızı bilmirsinizsə, bu təlimatı yoxlamağı təklif edirik.

Hər halda onu komponentinizdə tətbiq edin

Bu təlimatın icmalında deyildiyi kimi, biz icma plaginindən istifadə edərək bildirişlər yaradacağıq.
Çox güman ki, komponentinizdə və ya plagininizdə bildirişlər yaratmaq istəyəcəksiniz. Aşağıdakı təlimat bu hallardan hər hansı birində işləyəcək. Siz yalnız kodunuzun hansı nöqtəsində bildirişin yaradılacağını müəyyən etməli və sadəcə JomSocial Core Libraries faylını yükləməlisiniz.

bir dəfə JPATH_ROOT tələb edir. "/components/com_community/libraries/core.php" ;

Aşağıda izah edilən təlimata əməl etmək sizin uzantınız üçün də yaxşı işləyəcək

İnkişaf Mühitinin Hazırlanması

1. Hesab edəcəyik ki, siz artıq icma tipli nümunə plagin yaratmısınız və istifadəçi profilini dəyişdikdə işə salınacaq.
Yoxdursa, siz boş nümunə plaqini yükləyə, onu Joomla-da quraşdıra və plaqini aktivləşdirə bilərsiniz. Bu adlanır İcma - Bildirişlər Nümunəsi
2. Verilənlər bazanıza gedin və bu iki cədvəli boşaldın ki, onların heç bir qeydi olmasın.

A) prefiks_icma_bildirişi
b) prefiks_ictimai_mailq

3. Test saytlarınızda ən azı iki (2) istifadəçi olsun və onların şəxsiyyət vəsiqələrini bilsinlər

Joomla'nın əvvəlki versiyalarında istifadəçi identifikatorları həmişə müəyyən edilmiş nömrədən (62, 42) başlayırdı. Joomla 3-də bu nömrə təsadüfi olacaq, buna görə də test mühitimizin şəkli sizin sonunda fərqli olacaq.

İlk Bildiriş

ROOT/plugins/community/example-də yerləşəcək plagin php faylını açın
OnAfterProfileUpdate() funksiyası daxilində dəyişdirin

CNotificationLibrary::add ( $cmd , $actor , $target , $subject , $body , $template , $params );

Nümunədə göstərildiyi kimi, notification add api-nin 7 parametri var

  • $cmd - bildiriş növüdür. Bu faylda bütün bildiriş növlərini görə bilərsiniz. ROOT/components/com_community/libraries/notificationtypes.php və ya 53-cü sətirdən başlayaraq. Biz system_messaging bildiriş növündən istifadə etməyi tövsiyə edirik.
  • $aktyor - hərəkəti həyata keçirən şəxsdir
  • $target - bildiriş alacaq şəxs və ya insanlar qrupudur
  • $subject - həm bildirişin açılan pəncərəsində, həm də e-poçt başlığında bildiriş mövzusudur
  • $body - e-poçt bildiriş mesajının əsas hissəsidir
  • $şablon - istifadə etmək üçün xüsusi şablon lazımdırsa, onu burada müəyyən edə bilərsiniz. Əks halda, bu parametr boş ola bilər
  • $params - xüsusi təyin edilmiş parametrlər
  • Bütün bunları bilərək, istifadə edəcəyimiz dəyişənləri təyin edək
    Plugin kodunuzu dəyişdirin:

    $user = CFactory::getUser(); $cmd = "sistem_messaging" ; // birinci param, fəaliyyət növü $actor = $user -> id ; //ikinci parametr - $actor-un id-sini əldə edin $target = "965" ; // üçüncü param. Kim bildiriş alır? Bizim inkişaf mühitimizdə onun id 965 admin istifadəçisidir. Sizin mühitinizdə çox güman ki, ID-ni obyektinizdən və ya istifadəçilər massivindən almaq istəyəcəksiniz. $subject = "Bildiriş mövzusu" ; // Hər ikisinin mövzusu, e-poçt və pop-up bildirişləri $body = ; //E-poçtlarda əsas mesaj. $şablon = "" ; // Əgər xüsusi jomsocial şablon faylından istifadə etmək lazımdırsa, onu burada müəyyən edə bilərsiniz. $params = new CParameter("" ); // Biz CNotificationLibrary:: add ( $cmd , $actor , $target , $subject , $body , $template , $params ) formal olaraq sinif təyin etmədən əlavə params obyekti yaratmaq və ona verilənlər təyin etmək istəyirik. ;

    İndi istənilən istifadəçi ilə daxil olun və profil məlumatlarını dəyişdirin. Nə baş verdiyini görmək üçün verilənlər bazasına gedək.
    Prefiks_community_notifications cədvəlinə keçin və yeni qeydi müşahidə edin

    Prefiks_community_mailq cədvəlinə keçin və yeni qeydə baxın

    Təbrik edirik! - Siz e-poçt və daxili JomSocial bildiriş sistemi vasitəsilə göndərilmiş ilk öz bildirişinizi uğurla yaratdınız.


    Potensial Kod Bloat

    Yuxarıdakı nümunə yaxşıdır və işləyir, lakin ümumiyyətlə onu belə istifadə etmək tövsiyə edilmir. Əvəzində belə yazmaq olar

    $aktyor = CFactory::getUser(); $params = new CParameter("" ); CNotificationLibrary:: add ( "system_messaging" , $actor -> "Bu, bildirişin əsas mesajıdır" , "" , $params );

    Bu, yuxarıda göstərilən kodla tamamilə eyni şeyi edərkən daha təmiz və izləmək daha asandır.

    Xüsusi Bildiriş Parametrləri

    Bildiriş API əlavə etmək istədiyiniz hər hansı parametrlə genişləndirilə bilər.
    Bu parametrlər ya e-poçt şablonuna, bildirişə və əlbəttə ki, dil faylına ötürülə bilər.

    $aktyor = CFactory::getUser(); $link = "http://www.google.com" ; $params = new CParameter("" ); $params -> set ("aktyor" , $actor -> getDisplayName () ); // (aktyor) teqi kimi istifadə edilə bilər $params -> set ("actor_url" , "index.php?option=com_community&view=profile&userid=" . $actor -> id ); // (aktyor) teqi üçün keçid $params -> set ("url" , $link ); //bütün fəaliyyətin URL-i. Bildiriş pəncərəsində avatarın üzərinə hərəkət edərkən istifadə olunur. Gedən e-poçtlarda (url) etiketi kimi də istifadə edilə bilər. $link dəyişənini təyin etdiyinizə əmin olun :) ;

    • $params = yeni CParameter( ); - Biz yeni params obyekti yaratmaq və ona məlumat təyin etmək istəyirik, bunu rəsmi olaraq sinif müəyyən etmədən.
    • $params->set("aktyor", $actor->getDisplayName()); - Bildirişinizdə həmişə aktyor olmalıdır. Bu parametr şablona (aktyor) teq kimi ötürülə bilər. Bildiriş pəncərəsində o, hərəkəti həyata keçirən istifadəçini müəyyənləşdirir.
    • $params->set("actor_url", "index.php?option=com_community&view=profile&userid=" . $actor->id); - Aktyor URL-i adətən aktyorun URL-dir. Bildiriş açılan pəncərəsində o, (aktyor) elementinə keçid əlavə edir
    • $params->set("url", $link); - Bu, həmişə düzgün təyin etməli olduğunuz ən vacib parametrdir. Bildiriş pəncərəsində bu parametr avatar şəkli üzərində istifadə olunur. E-poçt bildirişində o, fəaliyyətin baş verdiyi yeri əks etdirir.

    Bu misal üçün biz eniş üçün $link dəyişənini təyin edəcəyik www.google.com beləliklə necə işlədiyini görə bilərsiniz

    Dil sətirinin əlavə edilməsi və istifadə parametrləri

    İndi təyin etdiyimiz parametrlərə malik olmaqla, dil fayllarımızda da istifadə etmək mümkündür.
    "Dəyişdirməklə dil düymələrini təyin edək. CNotificationLibrary::add() API

    CNotificationLibrary::add("system_messaging" , $actor -> id , "965" , JText::sprintf("PLG_COMMUNITY_EXAMPLE_SUBJECT" ) , JText::sprintf("PLG_COMMUNITY_EXAMPLE_BODY");

    Dil faylı belə görünməlidir

    PLG_COMMUNITY_EXAMPLE_SUBJECT = "(aktyor) yenilənmiş profil" PLG_COMMUNITY_EXAMPLE_BODY = "Salam Admin \n Bu (aktyorun) profilini yenilədiyini bildirmək üçün göndərilən məktubdur \n\n Google-a getmək istəyirsinizsə, bura klikləyin \n a href=" _QQ_" (url)"_QQ_">(url)"

    Bu nümunədə biz məlumatı həm bildiriş, həm də e-poçt şablonlarına ötürmək üçün etiket (aktyor) və (url) istifadə etdik. Bunun necə göründüyünü görək.
    Avatarın üzərinə keçərkən bildiriş pəncərəsində (url) parametrə diqqət yetirin və linki avatar üzərində Google-a əlavə edir. Bu qəsdəndir, çünki biz bunu belə etdik :)


    ]

    Eyni pəncərədə, aktyor keçidinin üzərinə keçərkən. Bu, (aktyorun) hərəkəti həyata keçirən istifadəçini əks etdirdiyi, (actor_url)" obyektin düzgün əlaqələndirilməsinə diqqət yetirdiyi hissədir.


    E-poçt növbəsində nə baş verdiyini görək


    Və nəhayət, son istifadəçiyə göndərilən faktiki e-poçt


    Uğur
    İndiyədək biz bildiriş pəncərəsində və e-poçtlarda uğurla istifadə olunan üç (3) parametr yaratdıq.

  • (aktyor) - Fəaliyyəti həyata keçirən istifadəçinin istifadəçi adını qaytarır
  • (actor_url) - verir atribut (aktyor)
  • (url) - Məcburi deyil, lakin həmişə bildirişinizdə olmalıdır. Haqqında xəbərdar olduğumuz hərəkətin baş verdiyi əsas urldir.
  • Eynilə, siz də müəyyən edə bilərsiniz "

    • (hədəf) - ehtiyacınız varsa
    • (target_url) bildirişinizdə ehtiyacınız varsa.
    • (başlıq) - Adətən bildiriş yaradan obyektə istinad etmək üçün istifadə olunur. Nümunə: "İstifadəçi X Y Albomunda yeni şəkil yerləşdirdi." Y albomunun adı buradadır
    • (title_url) - Əvvəlkilərdə olduğu kimi, bildiriş yaradan obyektin URL-i.
    • (mesaj) - Bu parametr JomSocial e-poçtunun mətnində mesajı təyin etmək (və əks-səda vermək) üçün istifadə edilə bilər.

    Zend tətbiqimdə mobil proqramlar üçün bir az API yazıram. Mobil tərtibatçılar üçün işi asanlaşdırmaq üçün Swagger-dən istifadə edirəm. İndiyə qədər hər şey yaxşı işləyir, bir GET sorğusu istisna olmaqla.

    /user/messages/(sessionToken) nə vaxt zəng edə bilərəm? Brauzerdə NumMessages = (numMessages) & pageNr = (pageNr) istədiyim nəticələri əldə edirəm, lakin Swagger-ə bu sorğunu yerinə yetirməyə icazə verməyə çalışanda yalnız sessionToken ötürülür. Swagger üçün bu annotasiyaları sınadım:

    /** * @SWG\Api(path="/user/messages/(sessionToken)?numMessages=(numMessages)&pageNr=(pageNr)", * @SWG\Operation(* method="GET", * xülasə " Səhifələnmiş mesajları alır", * qeydlər="", * type="string", * nickname="getUsermessagesPaged", * authorizations=(), * @SWG\Parameter(* name="sessionToken", * description="Token" aktiv istifadəçi sessiyasından", * tələb=true, * type="string", * paramType="path", * allowMultiple=true *), * @SWG\Parameter(* name="numMessages", * description=" səhifədəki mesajların sayı (numMessages & pageNr hər ikisi təyin edilmədikdə nəzərə alınmır)", * tələb=true, * type="string", * paramType="query", * allowMultiple=true *), * @SWG\Parameter (* name="pageNr", * description="pagenumber (numMessages & pageNr, əgər hər ikisi təyin edilməyibsə nəzərə alınmır)), * required=true, * type="string", * paramType="query", * allowMultiple=true *), * @SWG\ResponseMessage(code=200, message="json (mesajlar => "user_messages")"), * @SWG\ResponseMessage(code=400, message="json" xətası "giriş deyil"" ) *) *) */

    Kimsə mənim səhvimi görür?

    İstənilən yardım xoşdur.

    Hörmətlə

    Yeniləyin. Təklif edildiyi kimi, mən hər iki paramType-i "sorğu"ya dəyişdim və yolu dəyişdirdim:

    @SWG\Api(yol="/user/messages/(sessionToken)",

    lakin döyüşçü kimi işləməyib.

    Eclipse PDT-də xdebug göstərir:

    RequestURI => /ias/public/user/messages/(sessionToken)

    QueryParams => Zend\\Stdlib\\Parametrlər - *ArrayObject*storage => Array - =>

    cəld JSON:

    ( "apiVersion": "1.0.0", "swaggerVersion": "1.2", "apis": [ ( "yol": "\/user", "təsvir": "İstifadəçilər haqqında əməliyyatlar" ) ], "info" : ( "title": "Mobil giriş api", "təsvir": "Bu, xxx mobil giriş api.", "termsOfServiceUrl": null, "əlaqə": "xxx", "lisenziya": null, "licenseUrl" : null, "_partialId": null, "_partials": , "_context": ( "şərh": "\/**\ * @SWG\\Info(\ * title="Mobil giriş api)",\ * description="This is the xxx mobile access api.",\ * contact="xxx",\ *)\ *\/", "line": 3 } } } !}

    Budur / istifadəçi çıxışı:

    ( "basePath": "http://localhost/ias/public", "swaggerVersion": "1.2", "apiVersion": "1.0.0", "resourcePath": "/user", "apis": [ ( "path": "/user/balance/(sessionToken)", "operations": [ ( "metod": "GET", "summary": "Gets userbalance", "ləqəb": "getUserdata", "type": "string", "parameters": [ ( "paramType": "path", "name": "sessionToken", "type": "string", "laquired": true, "allowMultiple": false, "təsvir": "Aktiv istifadəçi sessiyasından nişan" ) ], "responseMessages": [ ( "kod": 200, "message": "json (balans => "user_balance")" ), ( "kod": 400, "message ": "xəta ilə json "daxil deyil"" ) ], "qeydlər": "", "səlahiyyətlər": () ) ]), ( "yol": "/user/login", "əməliyyatlar": [ ( "metod": "POST", "summary": "İstifadəçini sistemə daxil edir", "ləqəb": "loginUser", "type": "string", "parameters": [ ( "paramType": "form", "name": "email", "type": "string", "laquired": true, "allowMultiple": false, "description": "Giriş üçün istifadəçi e-poçtu" ), ( "paramType": "form", "name": "password", "type": "string", "tələb olunur": true, "allowMultiple": false, "description": "Aydın mətndə daxil olmaq üçün parol" ) ], "responseMessages": [ ( "code": 200, "message": "json with session_id, user_id, user_balance" ), ( "code": 400, "message": "json" xətası "verilmiş e-poçt və şifrə ilə istifadəçi yoxdur"" ), ( " code": 400, "message": "json with error with "invalid input"" ), ( "code": 400, "message": "json" xətası "post sorğusu yoxdur"" ) ], "notes": "" , "səlahiyyətlər": () ) ] ), ( "yol": "/istifadəçi/çıxış", "əməliyyatlar": [ ( "metod": "POST", "xülasə": "İstifadəçi çıxış edir", "ləqəb" : "logoutUser", "type": "string", "parameters": [ ( "paramType": "form", "name": "sessionToken", "type": "string", "laquired": true, " allowMultiple": false, "təsvir": "Fəal istifadəçi sessiyasından nişan" ) ], "responseMessages": [ ( "kod": 200, "message": "json (nəticə => "silindi")" ), ( "kod": 400, "mesaj": "xəta ilə json "verilmiş sid ilə user_session yoxdur"" ), ( "kod": 400, "message": "json "invalid input" xətası" ), ( "kod" ": 400, "message": "json" xətası ilə "poçt sorğusu yoxdur"" ) ], "qeydlər": "", "səlahiyyətlər": () ) ]), ( "yol": "/user/messages/( sessionToken)", "əməliyyatlar": [ ( "metod": "GET", "summary": "Yeni mesajlar alır", "ləqəb": "getUsermessages", "type": "string", "parameters": [ ( "paramType": "path", "name": "sessionToken", "type": "string", "required": true, "allowMultiple": false, "description": "Aktiv istifadəçi sessiyasından nişan" ) ], "responseMessages": [ ( "kod": 200, "message": "json (messages => "user_messages")" ), ( "kod": 400, "message": "json "xətası" daxil deyil "" ) ], "qeydlər": "", "icazələr": () ), ( "metod": "GET", "summary": "Səhifəyə görə mesajlar alır", "ləqəb": "getUsermessagesPaged", "type" : "string", "parameters": [ ( "paramType": "path", "name": "sessionToken", "type": "string", "tələb olunur": true, "description": "The token of an aktiv istifadəçi sessiyası" ), ( "paramType": "sorğu", "ad": "numMessages", "növ": "string", "tələb olunur": doğru, "təsvir": "səhifədəki mesajların sayı (numMessages & pageNr, hər ikisi təyin edilmədikdə nəzərə alınmır)" ), ( "paramType": "sorğu", "ad": "pageNr", "type": "string", "tələb olunur": true, "təsvir": "pagenumber ( Hər ikisi təyin edilmədikdə numMessages & pageNr nəzərə alınmır)" ) ], "responseMessages": [ ( "kod": 200, "message": "json (messages => "user_messages")" ), ( "kod": 400 , "message": "json" xətası ilə "daxil deyil"" ) ], "qeydlər": "", "səlahiyyətlər": () ) ]), ( "yol": "/user/userdata", "operations" : [ ( "metod": "POST", "xülasə": "Yazıların istifadəçi məlumatları", "ləqəb": "postUserdata", "type": "string", "parameters": [ ( "paramType": "form", "name": "sessionToken", "type": "string", "tələb olunur": true, "allowMultiple": false, "description": "Aktiv istifadəçi sessiyasından nişan" ), ( "paramType": "forma ", "ad": "parol", "növ": "string", "tələb olunur": false, "allowMultiple": false, "təsvir": "yeni parol" ), ( "paramType": "form", " ad": "ünvan", "növ": "string", "tələb olunur": false, "allowMultiple": false, "təsvir": "yeni ünvan" ), ( "paramType": "forma", "ad": "housenr", "type": "string", "tələb olunur": false, "allowMultiple": false, "description": "new housenr" ), ( "paramType": "form", "name": "zip" , "növ": "sətir", "tələb olunur": yanlış, "allowMultiple": yanlış, "təsvir": "yeni zip" ), ( "paramType": "forma", "ad": "şəhər", "növ" ": "string", "tələb olunur": false, "allowMultiple": false, "təsvir": "yeni şəhər" ), ( "paramType": "form", "name": "email", "type": " string", "tələb olunur": false, "allowMultiple": false, "təsvir": "yeni e-poçt" ) ], "responseMessages": [ ( "kod": 200, "message": "json (istifadəçi => "userdata" ")" ), ( "kod": 400, "mesaj": "xəta ilə json

    Mənə elə gəlir ki, mənim swagger-ui heç bir sorğu parametri göndərmir? Budur, bir sorğu-param, sessionToken ilə nümunə: (FireBug 2.0.6 tərəfindən idarə olunur)

    GET /ias/public/user/balance HTTP/1.1 Host: localhost İstifadəçi-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 Qəbul edin: application/json Qəbul Dili: de, en-US;q=0.7,en;q=0.3 Qəbul et-kodlaşdırma: gzip, deflate Məzmun Növü: application/json İstinad: http://localhost/ias/swagger/ Kuki: __utma=111872281.581414660.13761.5814.1376138. .255; uvts=sB5Dda3cZBNdaTk; searchpanel-close=set Əlaqə: canlı saxlamaq

    Cavab belə oldu:

    HTTP/1.1 400 Səhv Sorğu Tarixi: Çərşənbə axşamı, 25 Noyabr 2014 14:58:20 GMT Server: Apache/2.4.9 (Win32) PHP/5.5.12 X-Powered-By: PHP/5.5.12 Məzmun Uzunluğu: 25 Əlaqə: Bağlayın Məzmun Tipi: application/json; charset=utf-8

    Cavab düzgün idi, çünki heç bir sessiya Tokeni keçməyib.

    Bu iş tələb edir, lakin bu, swagger-ui-dən gəlmir:

    GET /ias/public/user/balance?sessionToken=HTTP/1.1 Host: localhost İstifadəçi-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0 Qəbul edin: text/html,application/ xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Qəbul-Dil: de,en-US;q=0.7,en;q=0.3 Qəbul-kodlaşdırma: gzip, deflate Kuki: __utma=111872281.58141460 .1366700677.1394721873.1394723866.255; uvts=sB5Dda3cZBNdaTk; searchpanel-close=set Əlaqə: canlı saxlamaq



    Əlaqədar nəşrlər