2017-06-24 1 views
0

これは私のAjaxのスクリプトです:ajaxを使用してPHPファイルに情報を送信し、.load()を使用してこのファイルをdivにロードしますか?

var cid = $(this).data('cid'); 
var sendData = { canidtoset: cid }; 

$.ajax({ 
    url: '/functions/cv_showinformation.php', 
    type: 'post', 
    data: sendData, 
    dataType: 'json', 
    success: function(data) { 

     $('#can-viewer .cv--informationtab .infotab--inner') 
     .load("/functions/cv_showinformation.php"); 

    } 
}); 

それがクリックされた要素からデータ-CIDと呼ばれる属性の値を取得します。この値は、要素がクリックされた後にdivに含まれるPHPスクリプトに送信する必要があります。 PHPスクリプト:

<?php 

    if(isset($_POST['canidtoset'])){ 

     $canid = $_POST['canidtoset']; 
     echo $canid; 

    } else { 

     echo "Something went wrong"; 

    } 

?> 

最後に、divの属性の値が表示されます。しかしそれは含まれていないので、私はデータが設定されていないと信じています。どこに間違いがありますか?

答えて

1

dataType: jsonは、サーバーからのデータがjson(プレーンテキストを送信している)と予想されることを意味します。

2番目の問題は、お客様の.ajaxコールが必要なものであることです。 .loadコールは、渡された値なしで同じことを達成しています。

最も簡単な解決策はhtml

var cid = $(this).data('cid'); 
var sendData = { canidtoset: cid } 

$.ajax({ 
    url: '/functions/cv_showinformation.php', 
    type: 'post', 
    data: sendData, 
    dataType: 'html', 
    success: function(data) { 

     $('#can-viewer .cv--informationtab .infotab--inner').html(data); 

    } 
}); 

か、あなたにも.loadにポストデータを渡すことができますし、あなたのデータ型を変更しなければなりません。あなたの.ajax呼び出しをsuccessコールバックの中に入れ子にするのではなく、それを置き換えてください。

$('#can-viewer .cv--informationtab .infotab--inner') 
    .load("/functions/cv_showinformation.php", { 
     canidtoset: $(this).data('cid') 
    }); 
+0

あなたはたくさんありがとうございます。 2番目の方法はうまく動作します。 –

2

あなたは(.LOAD使用する場合は)我々は/functions/cv_showinformation.php

var cid = $(this).data('cid'); 
var sendData = { canidtoset: cid }; 

$.ajax({ 
    url: '/functions/cv_showinformation.php', 
    type: 'post', 
    data: sendData, 
    dataType: 'json', 
    success: function(data) { 

     $('#can-viewer').load('test.php?canidtoset='+ data); 

    } 
}); 



<div id='can-viewer'></div> 

エラーを回避するために、次のように行うことができます。

if(isset($_REQUEST['canidtoset'])){ 
     $canid = $_REQUEST['canidtoset']; 
     echo $canid; 

    } else { 
     echo "Something went wrong"; 

    } 
関連する問題