Scrap Dynamic Select Option Scrapy - PullRequest
       5

Scrap Dynamic Select Option Scrapy

0 голосов
/ 24 ноября 2018

У меня есть два элемента выбора, где вторые параметры выбора загружаются динамически в соответствии с параметрами первого элемента выбора.Я пытаюсь отказаться от значения параметра во втором элементе выбора.Вот мой код HTML, JS и Scrapy.

<form name=studlist method="POST" action autocomplete="off">
<input type=hidden name=token value=123>
<input type=hidden name=process value=getStudList>
<label for="studCode">Classes</label>
<select  class="classlist" name=studCode onchange="getStudByClass(this.value)">
<option value="01" >First Standard </option>
<option value="02" >Second Standard </option>
</select>
<label for="Student">Classes</label>
<select  class="classlist" name=Student id=Student>  
</select>
</form>

Javascript

  function getStudByClass(studCode) {
   if(studId !== '') {
   var options = '';
   var optionDefault = '<option value="">Select Students </option>';
   $.ajax({
        url: JS_AJAX+'student_dtail_ajax.php',
        type: "POST",
        data: {'process': 'getStudList', studCode: studCode},
        dataType: 'json',
        beforeSend: function () {
            $("#Student").html("<option value=''>Loading...</option>");
        },
        success: function (data) {
            data=data['data'];
            for (k in data) {
                options += '<option value="' + data[k]['studId'] + '" >' + data[k]['studName'] + '</option>';
            }
            $("#Student").html(optionDefault + options);
        },
        complete: function () {
        }
    });
}

Когда я выбираю первый вариант первого элемента выбора, вкладка NETWORK XHR консоли консоли в консоли дает

Request URL: http://testsite.com/student_detail_ajax.php
Request METHOD: POST

Form Data
process: getStudList
studCode : 01

Response
{"data":[ 
          { "StudId" : "1001","StudName": "Titto"},
          { "StudId" : "1002","StudName": "Johny"}
        ]
}

Я пытаюсь удалить содержимое из вторых опций выбора, используя следующий код scrapy

allowed_domains = ['testsite.com']
start_urls = ['http://testsite.com/studSearch.php']

def parse(self,response):
   yield scrapy.FormRequest(
       'http://testsite.com/student_detail_ajax.php',
        formdata = {'process': 'getStudList','studCode': '01'},
        callback = self.parse_students
        )

def parse_students(self, response):
    print(response.body)

Я пытался передать studCode статически, но я не получаю ответ.У кого-нибудь есть идеи, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...