2017-02-24 7 views
0

は、ここに私のcurlコマンドは、PHPファイルを作成しますアヤックスアヤックスのカールcmdを呼び出す方法を

curl -X POST -u "CONVERSATION_USERNAME":"CONVERSATION_PASSWORD" -H "Content-Type:application/json" -d "{\"input\": {\"text\":\" \"}}" "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/CONVERSATION_ID/message?version=2016-07-11" 
+0

https://secure.php.net/curl –

答えて

0

PHPのfile.hereファイル名は

<?php 
if(isset($_POST['conversation'])) { 
$data = array("input"=>array("text"=>$_POST["conversation"])); 
$url = "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/a9379972-d820-4cdf-b1cb-ad0af898a534/message?version=2016-07-11"; 
$ch = curl_init($url); 
curl_setopt_array($ch, array(
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_POST => true, 
    CURLOPT_USERPWD => "username:password", 
    CURLOPT_HTTPHEADER => array("Content-Type:application/json"), 
    CURLOPT_POSTFIELDS => json_encode($data), 
)); 
$response = curl_exec($ch); 
curl_close($ch); 
print_r(json_decode($response)); 
} 
?> 

chat.phpあるとAjax

上記で
var xhr = new XMLHttpRequest(); 
//xhr.open('get', 'chat.php'); 
xhr.open("GET", "chat.php?data=" + data to be pass, false); 
// Track the state changes of the request. 
xhr.onreadystatechange = function() { 
var DONE = 4; // readyState 4 means the request is done. 
var OK = 200; // status 200 is a successful return. 
if (xhr.readyState === DONE) { 
    if (xhr.status === OK) { 
     //alert(xhr.responseText); 
     talking = true; 
     botMessage=xhr.responseText;// 'This is the returned text.' 
    } else { 
     // console.log('Error: ' + xhr.status); // An error occurred during the request. 
     alert ('Error: ' + xhr.status); 
    } 
} 
}; 

// Send the request to send-ajax-data.php 
xhr.send(); 
0

を使用してこのコマンドを実行し、そのファイル内でそのコマンドを入れて、とにかくあなたから必要なものは何でもそれからの復帰がされていますcurlレスポンスを呼び出し、このPHPファイルをajax経由で呼び出します。

<?php 
    //do your curl call here 
    //curl -X POST -u "CONVERSATION_USERNAME":"CONVERSATION_PASSWORD" -H "Content-Type:application/json" -d "{\"input\": {\"text\":\" \"}}" "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/CONVERSATION_ID/message?version=2016-07-11" 
    //see http://php.net/manual/en/curl.examples-basic.php 
    //do a return like so if $url is you url 
    $defaults = array( 
     CURLOPT_URL => $url, 
     your_other_params => go_here, 
     CURLOPT_RETURNTRANSFER => 1 
    ); 
    $ch = curl_init(); 
    curl_setopt_array($ch, $defaults); 
    $result= curl_exec($ch); 
    if(! $result = curl_exec($ch)) 
    { 
     trigger_error(curl_error($ch)); 
    } 
    curl_close($ch); 
    echo json_encode($result); 
?> 

あなたが

$.post("ajax_curl.php", { passed_data: "pass_whatever_you_need" }, function(data) { 
    console.log(data); 
}, "json"); 

'データ' のように見えるJSを呼び出しajax_curl.php

ファイルには、今、あなたのカールコール

1

これは動作するはずですから応答でJSONが含まれています。

$.ajax({ 
    url: "https://conversation_username:[email protected]/conversation/api/v1/workspaces/CONVERSATION_ID/message?version=2016-07-11", 
    method: "POST", 
    headers: { 
    "Content-Type": "application/json" 
    }, 
    data: { 
    input: { 
     text: " " 
    } 
    } 
}) 
done(function(data) { 
    // handle success response 
}) 
.fail(function(err) { 
    // handle error response 
}); 

http://api.jquery.com/jquery.ajax/

編集 - 約束を使用して成功し、エラー応答を処理するように更新。

+0

を使用してこれを呼び出す作成どのように応答を取ることができますか?@Yod – user94

+0

は、成功とエラー応答をどのように処理できるかを示すために更新されました。より多くの選択肢がドキュメントに記載されています – Yod

関連する問題