Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Lokalny skrypt w połączeniu z AJAX?
Paplo
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.10.2015

Ostrzeżenie: (0%)
-----


Witam

posiadam aplikacje webową, i napotkałem duży problem bo muszę dorobić do niego moduł do drukarki fiskalnej, ale większość problemów rozwiałem albo przynajmniej mam pomysł na nie, ale do rzeczy.

Połączyłem drukarkę fiskalna z skryptem js i html'em za pomocą Activex.
I tutaj tutaj mam problem bo Activex działa tylko lokalnie(przynajmniej tak wyszło z moich testów ale nie jestem pewien, mogę się mylić), ok, to zrobiłem ten moduł lokalnie czyli css js i html "w pełni działający" moduł lokalnie na komputerze i wszystko ładnie smiga, ALE teraz potrzebuje wymiany danych z baza danych na serwerze, i tutaj myślałem ze mi pomoże AJAX ale cały czas dostaje błąd - status = 0 czyli Not connect. Verify Network. czyli co nie da się lokalnie korzystać z ajaxa?

script w html'u jest na razie trywialny do testów tylko:

  1. <script>
  2. ajax = function (ean13){
  3. $.ajax({
  4. type: "POST",
  5. url: "www.mojastrona.pl/sklep/ajax/ajax_szukaj_ean.php", // z -> 'htt ps://www.mojas....' tez było
  6. data : {
  7. ean13: ean13
  8. },
  9. dataType: "json",
  10. success: function(response){
  11. console.log(response);
  12. }
  13. });
  14. }
  15. </script>


i odpowiedz umieszczona na serwerze:

  1. <?php
  2.  
  3. echo json_encode(array( 'success' => '1', 'text' => 'oto twoj product...' ));
  4.  
  5. ?>


Ten post edytował Paplo 8.11.2016, 10:16:52
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


1. Dodaj protokół do URL. Choć skoro to wywołanie lokalne (jak rozumiem w ramach tej samej domeny), to wystarczy ścieżka bezwzględna.
2. Sprawdź konsolę przeglądarki oraz zakładkę sieciową, aby sprawdzić jaka jest (jeśli jest) odpowiedź na żądanie.
Go to the top of the page
+Quote Post
viking
post
Post #3





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Aby działało zdalnie serwer docelowy musi mieć zdefiniowaną politykę Access-Control-Allow-Origin. Poczytaj o CORS.
Go to the top of the page
+Quote Post
Paplo
post
Post #4





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 28.10.2015

Ostrzeżenie: (0%)
-----


dziękuje (IMG:style_emoticons/default/smile.gif) wystarczyło dodać jedną linie do php na serwerze (IMG:style_emoticons/default/smile.gif) dziękuje za podpowiedz.

Witam piszę ponownie w tej sprawie bo już nie mam pomysłu (IMG:style_emoticons/default/sad.gif) i chyba zostałem zaszachowany

Potrzebuje odpalić skrypt lokalnie i to na IE, co zrodziło tyle problemow że już nie mam pomysłu
// Poprzedni temat zadziałał beż zarzutu na chrome

chrome:
- ajax działa lokalnie (wszędzie), ale nie działa ActiveX
IE:
- ajax działa jak jest na serwerze(nawet dwóch rożnych serwerach i domenach), ale NIE działa ActiveX
- ajax nie działa loklanie(czyli C:\Script\index.html), ale działa ActiveX

I co teraz mam zrobić żeby wszystko działało (IMG:style_emoticons/default/smile.gif) ? proszę o jakaś małą podpowiedz.

Pomysły na razie to:
- poszukać wtyczki do chroma na ActiveX - znalazłem ale chrome mi cały czas wyłącza go bo nie jest ze sklepu chrome i z tego co wyczytałem to nie da się jej włączyć w takim przypadku.
- dodać do zaufanych jak napisano tutaj: http://stackoverflow.com/questions/2320531...rect=1&lq=1 - też nie pomogło
(IMG:http://s2.ifotos.pl/mini/zaufanejp_axeqhhs.jpg)


  1. <!DOCTYPE html>
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.  
  7. <meta name="robots" content="NOFOLLOW, NOINDEX">
  8.  
  9. <script type='text/javascript' src="http://cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.1/jquery.xdomainrequest.min.js"></script>
  10.  
  11. <script>
  12. var contentType ="application/x-www-form-urlencoded; charset=utf-8";
  13.  
  14. if(window.XDomainRequest) // for IE8,IE9
  15. contentType = "text/plain";
  16.  
  17. ajax = function (ean){
  18. $.ajax({
  19. url:"http://199.77.156.43/ajax/ajax_shop.php",
  20. data: {
  21. ean: ean
  22. },
  23. type:"POST",
  24. dataType:"json",
  25. contentType:contentType,
  26. success:function(data)
  27. {
  28. alert("Data: "+JSON.stringify(data));
  29. },
  30. error:function(jqXHR,textStatus,errorThrown)
  31. {
  32. alert("You can not send Cross Domain AJAX requests: "+errorThrown); // -> na IE daje "No Transport"
  33. }
  34. });
  35. }
  36.  
  37. $(document).ready(function() {
  38. $(document).on('click', '#yes-btn', function(event) {
  39. event.preventDefault();
  40. /* Act on the event */
  41. ajax( $("#ean13").val() );
  42. });
  43. });
  44.  
  45. </script>
  46.  
  47. </head>
  48. <body...


  1. <?php
  2. header('Access-Control-Allow-Origin: *');
  3. header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
  4.  
  5. if(isset($HTTP_RAW_POST_DATA)) {
  6. parse_str($HTTP_RAW_POST_DATA,$arr);
  7. echo json_encode($arr);
  8. }
  9. else
  10. {
  11. echo json_encode($_POST);
  12. }
  13. ?>


Ten post edytował Paplo 9.11.2016, 14:05:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:06