cari

Rumah  >  Soal Jawab  >  teks badan

butang ajax javascript berfungsi dengan baik pada http://127.0.0.1 tetapi mendapat ralat dan gagal pada http://localhost:8888/xxx/public

Saya bekerja dengan laravel 10 php 8.10 dan di sini butang ajax javascript berfungsi dengan baik pada php artisan serve http://127.0.0.1 tetapi mendapat ralat pada **MAMP PRO** (localhost:8888) (ralat permintaan pemprosesan) dan tidak berfungsi pada url http://localhost:8888/xxx/public. Berikut ialah coretan html dan js:

Perlukan bantuan untuk menyelesaikan masalah ini.

**HTML**

@if($row->soc_extra==1)
                        <a class="updatesocialmediaStatus" id="socialmedia-{{ $row->id }}" socialmedia_id="{{ $row->id }}" href="javascript:void(0)"><i class="fas fa-toggle-on" soc-extra="Active"></i></a>
                    @else
                        <a class="updatesocialmediaStatus" id="page-{{ $row->id }}" socialmedia_id="{{ $row->id }}" style='color:#007bff;' style="color:gray" href="javascript:void(0)"><i class="fas fa-toggle-off" soc-extra="Inactive"></i></a>
                    @endif
                      &nbsp;&nbsp;
                      <a style='color:#007bff;' href="{{ url('admin/social-media/edit/'.$row->id) }}"><i class="fas fa-edit"></i></a>
                        &nbsp;&nbsp;
                        <a style='color:#007bff;' class="confirmDelete" name="socialmedia" title="Delete socialmedia" href="javascript:void(0)" record="socialmedia" recordid="{{ $row->id }}" <?php /*href="{{ url('admin/delete-socialmedia/'.$row['id']) }}"*/ ?>><i class="fas fa-trash"></i></a>
                        &nbsp;&nbsp;
@endforeach


**JS**

<script>
    $(document).on("click", ".updatesocialmediaStatus", function(){
        var soc_extra = $(this).children("i").attr("soc-extra");
        var social_media_id = $(this).attr("socialmedia_id");

        $.ajax({
            headers: {
                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            },
            type: 'post',
            url: '/admin/update-socialmedia-status',
            data: {soc_extra: soc_extra, social_media_id: social_media_id},
            success:function(resp){
                if (resp['status'] == 0) {
                    $("#socialmedia-" + social_media_id).html("<i class='fas fa-toggle-off' style='color:grey' soc-extra='Inactive'></i>");
                } else if (resp['status'] == 1) {
                    $("#socialmedia-" + social_media_id).html("<i class='fas fa-toggle-on' style='color:#007bff' soc-extra='Active'></i>");
                }
             },
             error:function(xhr, textStatus, errorThrown){
                 console.log(xhr.responseText);
                 alert('在处理请求时出错。');
             }
         });
    });
    </script>

Perlukan bantuan untuk menyelesaikan masalah ini.

P粉718165540P粉718165540524 hari yang lalu821

membalas semua(1)saya akan balas

  • P粉384366923

    P粉3843669232023-09-22 15:29:36

    Adakah port Apache MAMP anda sememangnya ditetapkan kepada port 8888 dan bukan port 80?

    Saya telah melakukan ini beberapa kali (port 8888 untuk ujian, port 80 untuk penempatan) dan mengekalkan panggilan Ajax yang menyasarkan localhost dan bukannya localhost:8888 atau sebaliknya.

    Sebagai alternatif, anda mungkin perlu menyatakan secara eksplisit port 8888 dalam panggilan Ajax, sebagai contoh:

    url: 'http://localhost:8888/admin/update-socialmedia-status'

    Semoga ini membantu?

    balas
    0
  • Batalbalas