我正在使用此功能
var url = 'XXXXXXXX'
$.ajax({
type: 'GET',
dataType: "json",
// data: {Calling:Calling},
processData: false,
crossDomain: true,
jsonp: false,
url: url,
success: displayAll
});
function displayAll(r,data){
for( i in r.Events )
{
var eventType = r.Events[i].Event
var eventData = r.Events[i].Data
var eventDetails = r.Events[i].Details
var caller = r.Events[i].Data.Calling
var test = JSON.stringify(caller);
console.log(test);
}
json XXX URL返回类似
的内容 >Data: {
> Billing: "0033912312312" (OVH number)
> Body: "SIP/2.0 200 OK" (Header SIP packet)
> CallId: "N2ZkZmEyNGMxZWM0N2VhN2M4NGJkMTY4ZGYwZmU2OTY." (CallId identifier)
> Called: "0033912312312" (calling number)
> Calling: "0033912312312" (L'appelant)
> Cseq: "181 REGISTER" (Le code CSeq du paquet SIP)
> DateStart: Thu Mar 05 2015 12:44:30 GMT+0100 (CET) (La date)
> Dialed: "0033912312312" (Le numéro composé)
> Event: "registered" (Le type d'évenement)
> Protocol: "sip" (Le type de protocole, sip ou mgcp)
> RelevantInfo: "" (Information importante)
> Ts: 1425554670.102
> TsGet: 1425554670238926800 (Le timestamp de l'évenement en nanoseconde)
>}
>Date: "2015-03-05T12:24:30.255954 (CET)"
>Details: {
> Description: "Gaelle Becquet" (Description du numéro OVH)
> Id: "295670" (Identifiant de la ligne du numéro OVH)
> IdBillingAccount: "59415" (Identifiant du groupe du numéro OVH)
> SimultaneousLine: "2" (Nombre de lignes simultannées)
> Type: "sipCirpack" (Type de ligne)
>}
>Event: "registered" (Le type d'évenement)
>Ressource: "0033912312312" (Le numéro OVH)
>Service: "sip" (Le protocole)
>Timestamp: 1425554670255954700 (Le timestamp de l'évenement en nanoseconde)
>Token: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" (Le token)
我需要获取Calling
和Called
的值才能在sql查询中使用它。
我尝试过使用
data: {Calling:Calling, Called:Called},
在ajax函数中但是因为我从url获取结果 控制台返回
ReferenceError: Calling is not defined
有没有办法通过data:
将其传递给php?或者可能是另一种选择(树枝?)
编辑: 这是我试过的
var url = 'xx'
$.ajax({
type: 'GET',
dataType: "json",
//data: {Calling:Calling},
processData: false,
crossDomain: true,
jsonp: false,
url: url,
success: displayAll
});
function displayAll(r,data){
for( i in r.Events )
{
// Sotre in last events
var eventType = r.Events[i].Event
var eventData = r.Events[i].Data
var eventDetails = r.Events[i].Details
var caller = r.Events[i].Data.Calling
var test = JSON.stringify(caller);
console.log(test);
console.log(this);
var json = JSON.parse(test);
$.ajax(
{
url: 'test.php',
type:'POST',
data: {caller:json},
success: function(data)
{
console.log("ok");
console.log(json);
},
error: function(data)
{
console.log("bug");
}
});
}
console.log(json)
工程控制台返回:
ok
0033912312312
在test.php文件中我试过了:
<?php
$moui = $_POST['caller'];
echo $moui;
var_dump($moui);
?>
var dump return null
答案 0 :(得分:0)
您需要将字符串json转换为对象
var json = JSON.parse(data);
//Now access it like so
json['Calling'];
//or
json.Calling;