2015-08-13 2 views
0

Используя requestjs, я отправляю запрос POST multipart/form-data, как показано ниже;Requestjs redirection

request.post({ 
    uri: "https://app.bom.com/items/command-export-2", 
    headers: { 
    "cookies": cookie, 
    "Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryS4isRj4WDxhi155d" 
    }, 
    formData: { 
    wfs_id: "17767554", 
    search_category: "item_number", 
    search_textfield: "161337", 
    kept_items_p: "0", 
    kept_objects_list: "", 
    search_mode: "adv", 
    query_id: queryId, 
    list_export_p: "1", 
    all_objects_p: "0", 
    item_count: itemCount, 
    show_only_checked_p: "0", 
    import_id: "0", 
    import_list_p: "0", 
    tabular_format_option: "", 
    form_file_format: "0", 
    csv_setting_id: "-20000", 
    pdx_setting_id: "0", 
    export_now_btn: "Export Now »" 
    }, 
    jar: jar 
}) 
.on('response', function(response) { 
    log.info(response); 
    log.info(jar); 
}) 
.on('error', _error); 

Мне ответил: 302. Я думал, что requestjs поддерживает перенаправление по умолчанию. Ожидается ли такое поведение?

ответ

1

Запрос только следует GET Запросы перенаправления по умолчанию. Так как вы используете POST запрос, используйте

followAllRedirects: true 

следовать редирект из POST запроса.

followAllRedirects - следовать не-GET HTTP 3xx ответы, переадресовывает (по умолчанию: ложь)