2014-01-28 69 views
-1

我的同事有另一個使用ColdFusion的應用程序查詢電話號碼,但我需要檢索查詢並將其放入我的Django應用程序中。從ColdFusion GET變量到Django窗體,然後保存是我想要的。他還爲我提供了一個響應變量來檢索,但不知道如何。那可能嗎?如何使用ColdFusion向Django發出請求,然後發送POST POST

它現在所做的就是一旦你點擊提交,電話號碼的所有結果都會在彈出窗口中打開。但是不必複製和粘貼所有的信息,將其加載到Django表單中會很好。

下面是一個例子是我到目前爲止有:

<form name="input" action="http://friendurlapi/" method="get"> 
    Password: <input type="text" name="pw"><br> 
    Phone Number: <input type="text" name="PhoneNumber"><br> 

    <select name="MTS"> 
     <option value="MVI">Incoming Voice</option> 
     <option value="MVO">Outgoing Voice</option> 
     <option value="SMO">Outgoing SMS</option> 
    </select> 

    From Date: <input type="text" name="FromDATE"><br> 
    To Date: <input type="text" name="ToDATE"><br> 

    <input type="submit" value="Submit"> 
</form> 

結果是這樣的,我需要被自動輸入到一個文本字段。

1/01/2014,12:00:00,XXXXXXXXX,XXXXXXXXX,XXXX,XX,XXXXXXXXXXXXXX

所有幫助表示讚賞。

回答

2

而不是(通過<form>元素)從你的瀏覽器提交表單,一個選擇是創建一個普通的Django的形式和使用這樣的查詢您的朋友的API把後端:

apiUrl = 'http://friendurlapi/?pw=foo&PhoneNumber=bar...' 

# import requests 
response = requests.get(apiUrl) 

# import urllib2 
fd = urllib2.urlopen(apiUrl) 
response = fd.read() 
fd.close() 

在這情況下,你的朋友的API實際上會看到來自你的Web服務器的請求,而不是用戶的請求。 (您還應該考慮將密碼作爲GET參數發送是否安全;如果它是用戶密碼而不是可撤銷的API密鑰,則這可能是個壞主意。)

另一種方法是使用查詢API JavaScript並在返回後將響應插入到DOM中。使用jQuery:

$('form[name="input"]').submit(function() { 
    $.get('http://friendurlapi/', { 
     // get the options out of the form 
     pw: $('input[name="pw"]').val(), 
     PhoneNumber: $('input[name="PhoneNumber"]').val(), 
     // ... 
    }, function(data) { 
     // once the response from the form is received, 
     // put it into your text box 
     $('#textbox').text(data); 
    }); 
}) 

這兩種方法都不是特別優雅,但第一個可能是更好,因爲它更可能隱藏來自用戶的API。

+0

這就是我要找的,謝謝你的回答,這是非常豐富的。我會試一試,看看會發生什麼。 – Infinixd